如何编写文件检查代码以获得最佳性能

Ric*_*ard 5 php file

就低流量网站的速度而言,以下代码片段之间是否存在明显差异?

$html = file_get_contents('cache/foo.html');

if ($html) {
    echo $html;
    exit;
}
Run Code Online (Sandbox Code Playgroud)

或这个:

$file = 'cache/foo.html';

if (file_exists($file)) {
    echo file_get_contents($file);
    exit;
}
Run Code Online (Sandbox Code Playgroud)

在第一个片段中,有一个对 file_get_contents() 的调用,而在第二个片段中,也有一个对 file_exists() 的调用。该页面确实涉及数据库访问 - 而这种缓存将完全避免这种情况。

小智 3

在低流量网站上速度会明显变慢;但如果您要获取内容(如果存在),则没有理由执行该检查,因为file_get_contents()已经在幕后执行该检查,false如果文件不存在则返回。

file_get_contents()您甚至可以直接在条件内部调用:


if ($html = file_get_contents('cache/foo.html')) {
    echo $html;
    exit;
}
Run Code Online (Sandbox Code Playgroud)