我有一个从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
更有效的方法。