PHP什么更有效file_exists或者其他链


PHP what is more efficent file_exists or elseif chain

我有一个从API中提取数据的应用程序。

我正在显示的字段之一(我们称之为$name)在我的服务器上的目录中可能有也可能没有与之关联的图像。

当我最初编写代码时,我使用 elseif 块来设置已知图像的标签,它看起来像这样......

 if($name == "fred")
 {
    $image = "<img src='/images/fred.png'>";
 }
 elseif($name == "jon")
 {
    $image = "<img src='/images/jon.png'>";
 }
 ......
 else
 {
    $image = $name; // just the text
 }

我们在elseif块中最多有15张图像,将来还会有更多,所以我想知道切换到file_exists是否会更有效,例如:

$filename = '/path/to/images/'.$name;
if (file_exists($filename)) {
     echo "<img src='".$filename."'>";
} else {
    echo $name;
}

这个图像经常设置,所以我希望它尽可能高效。

期待任何想法...

使用 file_exists() 肯定更好。你正在尝试做一些叫做premature optimization的事情,这不是一件好事。

也许这个检查比简单的if更昂贵,但你不会在你的脚本中注意到这一点。当然,if将更难维护(以及您在编写代码时应该考虑的问题)。

当然,如果您有很多图像,那么file_exists()检查文件是否存在比检查许多if更有效的方法。

相关文章: