如果提取失败,Smarty 会导致致命的 php 错误!如何预防?

Smarty causes fatal php error if fetch fails! How to prevent it?

我需要使用 Smarty 的 fetch 从另一个网站获取一些内容。但是这个内容并没有那么重要导致致命错误...

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

上面的代码如果获取不到内容会导致PHP致命错误,如何避免?

P.S。我无权访问源 PHP 文件(已编码),因此我只能编辑模板文件。

我认为在提取文件之前不可能在 smarty 中检查是否存在删除文件。无论如何,获取远程文件 可能 是危险的,因此最好避免这种情况。 如果文件在本地服务器上,就容易多了。

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

但我不确定这是否会对您有所帮助。

参考:Smarty Forums

已添加

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