我想在模板中包含一个php文件。但有时php文件不存在。 我尝试通过功能“ file_exists”检查它,但是它不起作用。
{if file_exists("`$plugin`/button.php")}
{include_php "`$plugin`/button.php"}
{/if}
致命错误:未捕获-> Smarty编译器:模板中的语法错误 第456行上的“文件:/home/user/www/site/template/template.tpl” “ {include_php”
$plugin
/ button.php“}” {include_php}文件 '/button.php'不可读<-抛出 /home/user/www/site/smarty/sysplugins/smarty_internal_templatecompilerbase.php 在第456行
有什么方法可以检查php文件是否存在?
答案 0 :(得分:0)
在尝试使用变量之前,请始终对其进行检查。
在这种情况下,$ plugin变量为空会使字符串连接失败。
如果首先确保设置了变量,则如果为true,则检查文件是否存在,该文件应能按预期工作。
{if isset($plugin) && file_exists("`$plugin`/button.php")}
{include_php "$plugin/button.php"}
{/if}
在纯PHP中,这应该可行,因为如果isset失败,它甚至不会尝试file_exist。
不过不确定。
如果这种方式无法正常工作,则需要将其单独设置为if。