使用file_get_contents获取图像它返回Not Found Error

时间:2016-09-02 07:37:58

标签: php image opencart file-get-contents file-put-contents

我在另一台服务器(Image)上有一张图片。但是当我使用file_get_contents()功能获取此图片时,它会返回

  

未找到错误

并生成此Image

file_put_contents(destination_path, file_get_contents(another_server_path));

请帮助我。如果还有其他方法可以获得这些图像。

2 个答案:

答案 0 :(得分:1)

  

试试这个。

URL Special character有问题。然后你必须从url basename解码一些特殊字符。

$imgfile = 'http://www.lagrolla.com.au/image/m fr 137 group.jpg';
$destinationPath = '/path/to/folder/';
$filename = basename($imgpath);
$imgpath = str_replace($filename,'',$imgpath).rawurldecode($filename);
copy($imgfile,$destination_path.$filename);

答案 1 :(得分:0)

从另一台服务器下载副本文件的另一种方法是使用curl

$ch = curl_init('http://www.lagrolla.com.au/image/data/m%20fr%20137%20group.jpg');
$destinationPath = '/path/to/folder/filenameWithNoSpaces.jpg';
$fp = fopen($destinationPath, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);

注意:在文件名中保存带空格的图像是不好的做法,因此您应该使用正确的名称保存此文件。