我有一个从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;
}
此图像经常设置,所以我希望它尽可能高效。
期待任何想法......
答案 0 :(得分:0)
使用file_exists()
肯定更好。你正在尝试做一些名为premature optimization
的事情,这不是件好事。
也许此检查比简单if
更昂贵,但您不会在脚本中注意到这一点。当然if
将更难维护(以及编写代码时应该考虑的内容)。
当然,如果你有很多图像,那么file_exists()
可以更有效地检查文件是否存在,而不是检查许多if
。