2010-04-08 121 views
1

我需要從一些URL下載圖像到我的服務器。然而,我的服務器的配置不允許我這樣做是這樣的:什麼是最簡單的方式下載PHP中的文件

getimagesize($file); 

因爲,它產生錯誤:

Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration in somefile.php on line 10 

因此,有另一種方式,我可以使用,不需要外部庫?

好吧,我的解決方案解決了它從OIS:

$filename = '/tmp/'.md5($file); 
$ch = curl_init($file); 
$fp = fopen($filename, "w"); 

curl_setopt($ch, CURLOPT_FILE, $fp); 
curl_setopt($ch, CURLOPT_HEADER, 0); 

curl_exec($ch); 
curl_close($ch); 
fclose($fp); 

$ext = getimagesize($filename); 

回答

-1

如果在您的服務器上禁用對URL的文件訪問,則無法從外部URL加載任何內容。這是該配置的目的。

在未禁用的服務器上,file_get_contents($ url)是獲取大多數文件的最簡單方法。

-1

使用以下命令將文件下載到$imgdata。然後,您可以將其保存到文件並獲取其圖像大小。您可以通過一些工作刪除文件保存步驟以使其更快。

$imgdata = get_file_contents($url); 
file_put_contents($filename, $imgdata); 
getimagesize($filename); 
+0

讀取錯誤消息... – OIS 2010-04-08 23:43:13

+0

這並不是因爲服務器配置的工作,它是不可能的。此外,您的代碼將產生致命錯誤。 – ariefbayu 2010-04-09 00:10:59

0

,除非你修改服務器配置

相關問題