下面列几种网上收集的利用php脚本将远程图片保存至本地的方法,各位自行测试代码是否可用,另外php保存远程图片到本地并不能确保百分百的一定会拉取到远程图片的数据。

php保存远程图片到本地的方法

方法1:

使用curl组件,读取图片信息,并存到到本地!

例:

# feiniaomy.com  飞鸟慕鱼博客
$url = ""; //远程图片地址
$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);
$path = 'img/1.png'; //文件存放路径
$resource = fopen($path, 'a');
fwrite($resource, $file);
fclose($resource);

方法2:

例:

# feiniaomy.com  飞鸟慕鱼博客
$url = ''; //远程图片的地址
$filename = 'img/'.date("dMYHis").'.png';//文件名称生成
ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$size = strlen($img);
$fp2 = @fopen($filename, "a");
fwrite($fp2, $img);
fclose($fp2);

注意:在使用上面的方法前,请在php的配置文件php.ini中打开 open_url 设置

方法3:

使用php中的 file_get_contents 与 file_put_contents 函数

例:

# feiniaomy.com  飞鸟慕鱼博客
$url = ''; //远程图片的地址
$file = @file_get_contents($url);
$filend = 'img/'.date('YmdHis').'.png'; 
@file_put_contents($filend,$file);