检查外部文件的大小,php

Posted

技术标签:

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

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

file_get_contents($_POST['url'];

然后我对他们做点什么。

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

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

【问题讨论】:

【参考方案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);
    

【讨论】:

以上是关于检查外部文件的大小,php的主要内容,如果未能解决你的问题,请参考以下文章

无法在 php 中检查 file_exist 的外部 url [重复]

PHP文件大小检查[关闭]

在使用 PHP 上传到临时目录之前检查图像的文件大小

PHP 文件上传文件类型和文件大小检查

php 一种检查文件大小的简便方法

PHP 带有扩展名和大小检查的PHP文件上传