检查外部文件的大小,php

Jam*_*mes 3 html php external filesize

我通过这段代码得到了他们的网址文件

file_get_contents($_POST['url'];
Run Code Online (Sandbox Code Playgroud)

然后我和他们做点什么.

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

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

Jon*_*Jon 8

见我回答这个问题.您需要具有cURL扩展名,您可以使用该扩展名HEAD向远程服务器发出HTTP请求.响应将让您知道文件有多大,然后您可以相应地做出决定.

您特别感兴趣的是这一行:

$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
Run Code Online (Sandbox Code Playgroud)


Aru*_*vid 5

同意@乔恩的观点

    $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);
    }
Run Code Online (Sandbox Code Playgroud)