如何使用smarty检查服务器上是否存在图像?

Zub*_*rya 3 php smarty

我想做这样的事情

{if image_exists}

<img src='{$path}{$imagename}'>

{else}

<img src='{$path}default.jpg'>

{/if}
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Kem*_*lah 5

而不是让Smarty做逻辑,我会说实际的PHP更好地做它.

在PHP中,您可以执行以下操作:

if (file_exists($filename)) 
{
    $path = $filename;
} 
else 
{
    $path = 'default.jpg';
}
Run Code Online (Sandbox Code Playgroud)

然后在模板中,您将不需要任何if声明.只需像平常一样使用img标签.

<img src="{$path}" />
Run Code Online (Sandbox Code Playgroud)

如果你真的想在模板文件中进行检查,那么只需使用Smarty if语句正常使用PHP函数即可.

{if file_exists($path . $imagename)}

<img src='{$path}{$imagename}'>

{else}

<img src='{$path}default.jpg'>

{/if}
Run Code Online (Sandbox Code Playgroud)