如何获取在php中呈现网页所消耗的总数据

如何获取在php中呈现网页所消耗的总数据,php,http,http-headers,Php,Http,Http Headers,浏览器控制台以字节为单位显示http请求中所有下载的css、js和图像的大小。如何在php中获取这些数据 任何帮助都将不胜感激 您可以评估http服务器访问日志文件,其中(通常)写入传输的大小。这需要http服务器进程本身的读取权限,显然只能在请求完成后才能执行。请注意,这样您将对客户端缓存的数据或客户端和服务器之间的代理服务器缓存的数据视而不见 这是一个示例条目: ::1 - - [19/Feb/2014:09:45:38 +0100] "GET /test.html HTTP/1.1" 20

浏览器控制台以字节为单位显示http请求中所有下载的css、js和图像的大小。如何在php中获取这些数据

任何帮助都将不胜感激


您可以评估http服务器访问日志文件,其中(通常)写入传输的大小。这需要http服务器进程本身的读取权限,显然只能在请求完成后才能执行。请注意,这样您将对客户端缓存的数据或客户端和服务器之间的代理服务器缓存的数据视而不见

这是一个示例条目:

::1 - - [19/Feb/2014:09:45:38 +0100] "GET /test.html HTTP/1.1" 200 129 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36 SUSE/32.0.1700.102"

在返回代码http-200(OK)旁边可以看到大小为“129”字节。有这样的包(
awstats
等等),但在您的情况下,只“grep-through”文件可能更容易。不过,决定哪些请求属于一起形成“页面加载”可能并不简单

您的具体要求有点模糊(在您自己的服务器上,或者解析其他人的网页?),但是您可以使用以下函数从php获取文件大小:

int filesize ( string $filename );

如果使用HTTP进行外部请求(如Inspect元素所示),则可以解析HTTP头或发送头请求而不是GET/POST来获取内容长度头。HTTP Head请求将不会返回文件的内容,而只返回头信息,如果您不关心所请求页面的内容,那么头信息可以节省大量资源。如果确实需要内容,只需发送一个GET/POST请求并解析始终返回的响应头

int filesize ( string $filename )
如果您想知道运行PHP的服务器上的文件有多大,可以使用它来显示文件大小(以字节为单位)。如果文件未知,将返回
FALSE

int filesize ( string $filename )