php保存网络图片(文件)到本地的三种操作方法

[php] 2024-04-19 圈点276

摘要:php保存网络图片(文件)到本地的三种操作方法

php保存网络图片(文件)到本地的三种操作方法



1,curl读取文件

条件:curl必须可以使用

$filename = "1";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);

$file = curl_exec($ch);

curl_close($ch);

$filend = ".gif";

$resource = fopen($path . $filename . $filend, 'a');

fwrite($resource, $file);

fclose($resource);



2,使用readfile,

条件:在php.ini中必须设置open_url开启

$filename = date("dMYHis").'.jpg';//文件名称生成

ob_start();//打开输出

readfile($url);//输出图片文件

$img = ob_get_contents();//得到浏览器输出

ob_end_clean();//清除输出并关闭

$size = strlen($img);//得到图片大小

$fp2 = @fopen($filename, "a");

fwrite($fp2, $img);//向当前目录写入图片文件,并重新命名

fclose($fp2);



3,file_get_contents和file_put_contents结合使用

条件:无

$file = file_get_contents($url);

$filend = "gif"; //pathinfo($url, PATHINFO_EXTENSION);

file_put_contents($path . $filename . "." . $filend,$file);


综合第三种比较合适。


保存网络图片  

感谢反馈,已提交成功,审核后即会显示