什么是最简单的方式下载PHP中的文件
问题描述:
我需要从一些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);
答
如果在您的服务器上禁用对URL的文件访问,则无法从外部URL加载任何内容。这是该配置的目的。
在未禁用的服务器上,file_get_contents($ url)是获取大多数文件的最简单方法。
答
使用以下命令将文件下载到$imgdata
。然后,您可以将其保存到文件并获取其图像大小。您可以通过一些工作删除文件保存步骤以使其更快。
$imgdata = get_file_contents($url);
file_put_contents($filename, $imgdata);
getimagesize($filename);
答
,除非你修改服务器配置
读取错误消息... – OIS 2010-04-08 23:43:13
这并不是因为服务器配置的工作,它是不可能的。此外,您的代码将产生致命错误。 – ariefbayu 2010-04-09 00:10:59