PHP什么是更有效的file_exists或者如果是链

时间:2013-10-18 16:25:56

标签: php performance

我有一个从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;
}

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

期待任何想法......

1 个答案:

答案 0 :(得分:0)

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

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

当然,如果你有很多图像,那么file_exists()可以更有效地检查文件是否存在,而不是检查许多if