2014-11-23 81 views
0

我试图让包括图像,CSS & JavaScript的网页总规模...PHP获取网页的大小,包括图片,CSS和Javascript

我注意到了一些东西飞轮像curl请求,然后使用curl_info显示已下载了多少数据...这工作正常,但它不包括所有图像,css & javascript。

$curl = curl_init('http://www.dailymail.co.uk/news/article-2844384/It-s-mini-adventure-Astonishing-moment-frustrated-passengers-lift-Mini-way-tram-driver-parked-car-tracks.html'); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); 
curl_exec($curl); 
//get the download size of page 
print("Download size: " . curl_getinfo($curl, CURLINFO_SIZE_DOWNLOAD) .'<br>'); 

这将返回381.285 kb,但tools.pingdom.com会回退超过5MB。

任何人都可以帮助我解决这个问题。

感谢

+0

哟你的卷曲只是越来越容易的部分,HTML。您将不得不处理该html中引用的所有资源文件。看看使用无头浏览器 – charlietfl 2014-11-23 13:17:41

+0

像phantomjs? – WebDevB 2014-11-23 13:48:03

回答

0

如果通过卷曲你刚才看到的网页,你必须得到每个图像,CSS & JavaScript的,例如你使用的preg_match每个版本,SRC等 例如:

$pattern = '/src="(.*)" /'; 
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE); 
getcurlsize($matches[1][0]); 

$主题是你已经得到的页面内容

getcurlsize是你必须创建的函数来获得卷曲文件的大小信息