当前位置:  开发笔记 > 编程语言 > 正文

在php中存储来自URL的图像的最佳方法?

如何解决《在php中存储来自URL的图像的最佳方法?》经验,为你挑选了1个好方法。

我想知道从php中保存图像的最佳方法.

目前我正在使用

file_put_contents($pk, file_get_contents($PIC_URL));

这不是理想的.我无法使用卷曲.有专门针对此的方法吗?



1> Paul Dixon..:

除非文件非常大,否则使用file_get_contents很好.在这种情况下,你真的不需要把整个东西都拿在内存中.

对于一个大的检索,你可以的fopen远程文件,FREAD,比方说,32KB的时间,并使用fwrite在本地循环,直到所有的文件已被读取.

例如:

$fout = fopen('/tmp/verylarge.jpeg', 'w');
$fin = fopen("http://www.example.com/verylarge.jpeg", "rb");
while (!feof($fin)) {
    $buffer= fread($fin, 32*1024);
    fwrite($fout,$buffer);
}
fclose($fin);
fclose($fout);

(为简单起见,没有错误检查!)

或者,您可以放弃使用url包装器并使用类似PEAR的HTTP_Request,或使用fsockopen等滚动您自己的HTTP客户端代码.如果您要维护缓存,这将使您能够执行有效的操作,如发送If-Modified-Since标头远程文件.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有