使用CURL-0字节保存亚马逊托管图像

时间:2014-07-07 22:45:32

标签: php curl

我正在尝试在我的服务器上保存来自亚马逊的图像,但始终会创建一个0字节的图像。我认为问题可能不是用户代理,所以我确定要指定用户代理。有什么想法吗?

$new_thumb = 'http://ecx.images-amazon.com/images/I/41g8vo0PgNL._SL160_.jpg';
$img_filename = '/path/to/new/local/image.jpg';

$ch = curl_init(); // Get image
curl_setopt($ch, CURLOPT_URL, $new_thumb);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)');
$picture = curl_exec($ch);
curl_close($ch);

$fh = fopen($img_filename, 'x'); // Save image
fwrite($fh, $picture);
 fclose($fh);

1 个答案:

答案 0 :(得分:0)

我复制了你的代码并且只更改了$ img_filename,它工作了,我得到了3345字节的图像。我怀疑你身边有许可问题; $ img_filename路径是否存在,权限是什么?