【问题标题】:Check size of external files, php检查外部文件的大小,php
【发布时间】:2011-03-27 02:23:07
【问题描述】:

我通过这段代码的 url 获取文件

file_get_contents($_POST['url'];

然后我对他们做点什么。

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

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

【问题讨论】:

    标签: php html external filesize


    【解决方案1】:

    请参阅我的answer 这个问题。您需要具有 cURL 扩展名,您可以使用它向远程服务器发出HEAD HTTP 请求。响应会告诉你文件有多大,然后你可以做出相应的决定。

    您对这一行特别感兴趣:

    $size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
    

    【讨论】:

    • curl_setopt($ch, CURLOPT_URL, $url), $url = post['url']?
    • @Rooney:是的,这是您感兴趣的网址的占位符。
    【解决方案2】:

    同意@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);
        }
    

    【讨论】:

      猜你喜欢
      • 2017-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      • 2011-12-16
      • 2012-02-09
      相关资源
      最近更新 更多