【发布时间】:2011-03-27 02:23:07
【问题描述】:
我通过这段代码的 url 获取文件
file_get_contents($_POST['url'];
然后我对他们做点什么。
但我不想操作大文件,如何限制接收文件的大小?
如果文件大于 500kb,它应该会抛出错误。
【问题讨论】:
标签: php html external filesize
我通过这段代码的 url 获取文件
file_get_contents($_POST['url'];
然后我对他们做点什么。
但我不想操作大文件,如何限制接收文件的大小?
如果文件大于 500kb,它应该会抛出错误。
【问题讨论】:
标签: php html external filesize
请参阅我的answer 这个问题。您需要具有 cURL 扩展名,您可以使用它向远程服务器发出HEAD HTTP 请求。响应会告诉你文件有多大,然后你可以做出相应的决定。
您对这一行特别感兴趣:
$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
【讨论】:
同意@Jon
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $url); //specify the url
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$head = curl_exec($ch);
$size = curl_getinfo($ch,CURLINFO_CONTENT_LENGTH_DOWNLOAD);
if(<limit the $size>){
file_get_contents($url);
}
【讨论】: