-->
[php] 2023-03-31 圈点105
摘要: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);
综合第三种比较合适。