2011-03-27 84 views
3

我得到他们的网址文件这段代码检查的外部文件大小,PHP

file_get_contents($_POST['url']; 

然后,我与他们无关的东西。

但我不想用大文件操作,如何限制接收文件的大小?

如果文件大于500kb,应该抛出一个错误。

回答

8

查看我的answer到这个问题。您需要具有cURL扩展名,您可以使用该扩展名向远程服务器发送HEAD HTTP请求。响应会让你知道文件有多大,然后你可以做出相应的决定。

你有兴趣特别是在这一行:

$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD); 
+0

curl_setopt($ CH,CURLOPT_URL,$网址),$ URL =交[ '链接']? – James 2011-03-27 02:31:34

+0

@罗马:是的,这是你感兴趣的url的占位符。 – Jon 2011-03-27 02:34:27

3

与@乔恩同意

$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); 
    } 
+2

Upvote Jon then;) – Jon 2011-03-27 02:45:46