Php 如何从url中知道flv大小?

Php 如何从url中知道flv大小?,php,size,flv,Php,Size,Flv,如果我知道flv视频, 例如: www.domain.com/video.flv 我不能使用“文件大小”,因为它无法从外部url检查大小,对吗? 那么,我如何知道他的大小呢?您可以使用CURL获取远程文件的标题,包括文件的大小 $url = 'http://www.domain.com/video.flv'; $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY

如果我知道flv视频, 例如:

www.domain.com/video.flv
我不能使用“文件大小”,因为它无法从外部url检查大小,对吗?

那么,我如何知道他的大小呢?

您可以使用CURL获取远程文件的标题,包括文件的大小

$url = 'http://www.domain.com/video.flv';

$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); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$headers = curl_exec($ch);

$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);

curl_close($ch); 

将CURLOPT_NOBODY设置为true,使CURL不会下载请求URL的正文。

您可以使用CURL向您想要知道其文件大小的URL发送HTTP HEAD请求。服务器应在其响应中发回一个内容长度头,以八位字节(字节)列出文件大小

不过,服务器不必实际发送内容长度头。如果没有,那么您唯一的选择就是实际下载完整的文件

我不能使用“文件大小”,因为它不能从外部url检查大小,对吗

是的,它可以这样做,但这样做有点可笑,因为url包装器将首先下载文件,然后检查其大小

您可以执行HEAD请求,该请求将在不请求文件数据的情况下向服务器请求文件大小。

此处的相关片段: