为什么PHP file_get_contents中的相对URL更快?

时间:2014-05-06 06:32:02

标签: php url path file-get-contents

我使用PHP和file_get_contents。即使我试图加快速度,它确实很慢:

$opts = array(
    'http'=> array(
    'header' => 'Connection: close'
    )
);
$context = stream_context_create($opts);
$contents = file_get_contents('http://www.example.com/file.txt', false, $context);

我也试过cURL。同样的问题。

我读过include应该比file_get_contents慢。这似乎只有在不包括整个URL但包括相对路径时才是真的,就像这样...

file_get_contents('../file.txt');

我的问题是......为什么相对路径比完整网址快得多?

1 个答案:

答案 0 :(得分:1)

file_get_contents不接受相对URI。它需要绝对URI或文件路径。

使用文件路径更快,因为:

  • 从文件系统中读取

工作少于:

  • 发出HTTP请求
  • 阅读请求
  • 从文件系统加载文件(可能在途中执行PHP)
  • 将其置于HTTP响应中
  • 发送回复
  • 阅读回复
  • 从响应正文中获取文件数据