2013-08-26 65 views
0

我正在開發一個用戶可以上傳圖片的網站。file_get_contents連接超時一些內容

一旦用戶插入圖像的url(只有遠程),我調用一個ajax到一個php,它將url存儲到服務器。

的問題是的file_get_contents:

對於一些圖片它給了我連接超時,其他沒有。

一些圖片,讓我的錯誤是:

我簡單的嘗試以這種方式來獲取內容:

$img = "http://www.lloydsbaiahotel.it/images/bgtop/03.jpg"; 
$inbuf = file_get_contents($img); 
var_dump($inbuf); 

可能是什麼問題?我是否必須更改我的服務器的某些配置?

+0

他們可能會阻止您的請求 – Pinoniq

+0

服務器是我的!或者你的意思是圖像的服務器? – JackTurky

+0

圖像的服務器 – Pinoniq

回答

1

嘗試使用捲曲,它爲您提供了更多的選擇和控制的file_get_contents比爲以下幾點:

$ch = curl_init ($url); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); 
    $raw=curl_exec($ch); 
    curl_close ($ch); 
    $fp = fopen($save_to,'x'); 
    fwrite($fp, $raw); 
    fclose($fp); 
0

file_get_contents()不處理緩慢的網絡連接或重定向以獲取遠程文件。您可以使用允許自定義連接超時值的fsockopen()。

您將從here得到更多的信息。

您也可以使用curl遠程讀取files.You可以看到curl manual還有: