如果获取失败,Smarty会导致致命的php错误!怎么预防呢?

时间:2015-06-15 16:34:15

标签: php smarty

我需要使用Smarty的fetch从其他网站获取一些内容。但是这个内容并不会导致致命错误......

{fetch file="http://sites.com/content"}

如果上面的代码无法获取内容,上面的代码将导致PHP致命错误,我该如何防止这种情况?

P.S。我无法访问源PHP文件(它是编码的),所以我只能编辑模板文件。

1 个答案:

答案 0 :(得分:1)

我不相信在获取之前可以检查smarty中是否存在删除文件。无论如何,可能对于获取远程文件是危险的,因此最好避免这种情况。 如果该文件位于本地服务器上,则更容易。

{if file_exists('../path/to/file.jpg')} 
    {fetch file="../path/to/file.jpg" assign="content"}
{/if}

但我不确定这会对你有所帮助。

参考:Smarty Forums

<强>加

虽然您无法访问主PHP,但是您可以编写自己的PHP文件吗?将它保留在Web根目录之外,但是你用它来缓存和缓存内容,然后通过指向该文件来包含它。