Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取网页的下载大小_Php_Curl_Web_Webpage - Fatal编程技术网

Php 获取网页的下载大小

Php 获取网页的下载大小,php,curl,web,webpage,Php,Curl,Web,Webpage,我有获取网页大小的代码 此代码的问题是,如果站点有HTTPS,它不会返回页面大小 如何在php中获取URL或网页的总大小 $url = 'facebook.com'; $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); $subject = curl_exec($curl); print("Download size: " . curl_getinfo($c

我有获取网页大小的代码

此代码的问题是,如果站点有HTTPS,它不会返回页面大小

如何在php中获取URL或网页的总大小

$url = 'facebook.com';        
$curl = curl_init($url);       
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);    
$subject = curl_exec($curl);  
print("Download size: " . curl_getinfo($curl, CURLINFO_SIZE_DOWNLOAD) .'<br>');
$url='facebook.com';
$curl=curl\u init($url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,TRUE);
$subject=curl\u exec($curl);
打印(“下载大小:.curl\u getinfo($curl,CURLINFO\u size\u Download)。”
);
您是否使用HTTPS不应影响对
curl\u getinfo
的任何后续调用

我怀疑这里的问题是您没有指定Curl应该遵循重定向-fetching
facebook.com
实际上返回一个301重定向到
https://facebook.com/
。除非你告诉Curl它应该跟随它,否则它会在第一次请求后放弃。在这种情况下,因为响应只是一个重定向头,所以主体是空的,因此是0字节大小

如果您指定

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);

然后它将跟随重定向,您将获得正确的文件大小(至少对我来说是182227)。

$url=''$curl=curl\u init($url);curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);curl_setopt($curl,CURLOPT_RETURNTRANSFER,TRUE)$主题=curl\u exec($curl)//获取页面打印的下载大小(“下载大小:“.curl\u getinfo($curl,CURLINFO\u size\u download”);不确定还要添加什么-您的代码对我来说很好。可能需要检查您的服务器是否确实具有HTTP和HTTPS流量的出站网络访问权限。您可以通过调用
echo curl\u error($curl)
Thank You.获得更多信息。。它在服务器上工作正常,我的本地主机出了问题