是通过互联网传输还是仅在服务器上访问的文件?

时间:2012-01-24 20:32:48

标签: php http

当您在PHP中包含或要求文件时,例如以下内容,实际从服务器传输了多少文件?

index.php - 20kb,其中10kb是HTML,如果在自己的HTML文件中,则为10kb文件。 ./ include / file.php - 30kb。在file.php里面是HTML,如果它在自己的HTML文件中,那将是20kb的数据 .javascript.js - 15kb

如果索引如下:

<?PHP 
 .... 
 // 10Kbs worth of stuff
 // links the JS file via <script> in the header
 require( './include/file.php' );
?>

服务器传输多少字节?我认为答案是服务器读取PHP,因此它访问所有50kb(而不是JS的15),但它上传并传输索引文件中的10kb HTML,包含/文件中的20kb HTML .php和15kb的JS,总共转移了45kb。

有人可以确认或告诉我错误吗?

2 个答案:

答案 0 :(得分:3)

要求只包含一个文件。没有其他的。

  1. require( './include/file.php' );您将当前文件中的代码包含在./include/file.php中。之后,生成的文件将运行。并且此文件的输出将发送到浏览器。
  2. 输出的总大小是将下载的 content-length
  3. require中,您将路径传递给文件。此路径可以是远程(如果在php.ini中启用)或本地(如示例中所示)。如果是远程文件,它首先会被下载到您的服务器上。但这并不意味着它会被下载到您的客户端。

答案 1 :(得分:2)

我不确定你明白require()正在做什么。它只是让PHP在本地包含指定的文件* - 不涉及“通过互联网”。

*:我故意忽略远程包含,因为它们是令人厌恶的,并且默认情况下被禁用。