2012-06-05 3 views
2

Попытка сохранить изображение на моем сервере с помощью cURL. Изображение загружается. Он показывает правильные байты, но когда ссылка на ссылку не работает. Я тогда DL, чтобы видеть и называть его пустым изображением.Grabbing image with cURL php

вот мой код ... в чем проблема?

$ch = curl_init("'. $image .'"); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); 
$rawdata=curl_exec ($ch); 
curl_close ($ch); 

$fp = fopen("$rename.jpg",'w'); 
fwrite($fp, $rawdata); 
fclose($fp); 
+0

Попробуйте использовать true и false вместо 0 и 1. Я не _think_, это будет иметь значение, но это возможно. Кроме того, что произойдет, если вы выполните var_export (strlen ($ rawdata)) после инструкции curl_close ($ ch)? Я просто пытаюсь выяснить, возникает ли проблема с извлечением изображений или их сохранением после этого. –

ответ

7

Я тестирую ваш скрипт, он отлично работает для меня, просто удалите бесполезную двойную кавычку и точку для изображения $.

<? 
$image ="http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=5"; 
$rename="123"; 

$ch = curl_init($image); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); 
$rawdata=curl_exec ($ch); 
curl_close ($ch); 

$fp = fopen("$rename.jpg",'w'); 
fwrite($fp, $rawdata); 
fclose($fp); 
?>