2010-04-08 116 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

,除非你修改服务器配置

相关问题