2009-12-14 86 views
2

我嘗試從以下代碼中從url下載圖像文件,但它不會從服務器返回正確的內容。該圖像可以在瀏覽器中通過加載url或在shell模式下使用curl下載,但不能在php執行中呈現。在執行php時,從服務器返回的頭部內容類型爲'text/html',而不是'image/jpeg',它應該是。使用捲曲下載間接圖像文件

任何人有任何想法嗎?

$url = 'http://count.koubei.com/showphone/showphone.php?f=jpg&w=104&h=10&bc=255,255,255&fc=0,0,0&fs=10&fn=arial&phone=LTIxMDM3MjIyOTc%3D%23dWBzmKEZpTh7YcWvOw%3D%3D'; 
$file_handler = fopen('phone.jpeg', 'w'); 
$curl = curl_init($url); 
curl_setopt($curl, CURLOPT_FILE, $file_handler); 
curl_setopt($curl, CURLOPT_HEADER, false); 

curl_exec($curl); 

curl_close($curl); 
fclose($file_handler); 
+0

我只是測試你的代碼,正確下載圖像。 – Juan 2009-12-14 03:19:28

+0

可以正確打開圖像文件。在我的Mac上,文件的下載大小隻有20個字節,這不是原始大小。 – Katat 2009-12-14 03:35:58

+0

我打開它,就好像我在瀏覽器上打開它一樣。也許它是某種捲曲配置問題。 – Juan 2009-12-14 03:41:25

回答

5

爲什麼不直接使用的file_get_contents 這樣

$img = file_get_contents("http://count.koubei.com/showphone/showphone.php?f=jpg&w=104&h=10&bc=255,255,255&fc=0,0,0&fs=10&fn=arial&phone=LTIxMDM3MjIyOTc%3D%23dWBzmKEZpTh7YcWvOw%3D%3D"); 
file_put_contents("photo.jpg",$img); 
+0

這簡單得多! – Katat 2009-12-14 22:36:06

+2

這隻有在你的服務器允許'url_fopen'(我認爲這是ini指令的名稱)時纔有效。 – 2010-08-02 21:29:15

+1

配置名稱是'allow_url_fopen' :) – Nick 2011-04-25 00:34:21