如果我有一个PHP脚本,除了以下内容之外什么都不做......
$file = fopen($path, "r");
flock($file, LOCK_SH);
echo fread($file, filesize($path));
flock($file, LOCK_UN);
fclose($file);
...从浏览器访问脚本导致的开销是多少,而不是简单地访问实际文件?在内部,是将整个文件复制到某种缓冲区然后再吐出来还是几乎一样?
答案 0 :(得分:1)
是的,它被读入缓冲区。它基本上等同于:
$temp = fread($file, filesize($path));
echo $temp;
您可以使用fpassthru()
发送给客户端,而无需立即将所有内容都读入缓冲区。
fpassthru($file);