什么是 Smarty?
为什么要使用它?
用例和工作流程
语法比较
模板继承
最佳实践
速成教程
{fetch}
用于从本地文件系统、http 或 ftp 中检索文件并显示内容。
如果文件名以 http://
开头,将检索并显示该网站页面。
这并不支持 http 重定向,请务必在必要的网页检索中包含结尾斜杠。
如果文件名以 ftp://
开头,该文件将从 ftp 服务器下载并显示。
对于本地文件,必须给出一个完整的系统文件路径,或一个相对于已执行 php 脚本的路径。
如果启用了安全功能,且你要从本地文件系统中检索文件,{fetch}
将仅允许检索 $secure_dir
安全策略路径中的文件。有关详细信息,请参阅 安全 部分。
如果设置了 assign
属性,{fetch}
函数的输出将被分配给此模板变量,而不是输出到模板。
属性名称 | 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|
file | 字符串 | 是 | 不适用 | 要检索的文件、HTTP 或 FTP 站点 |
assign | 字符串 | 否 | 不适用 | 输出要分配到的模板变量 |
示例 8.5 {fetch} 示例
{* include some javascript in your template *} {fetch file='/export/httpd/www.example.com/docs/navbar.js'} {* embed some weather text in your template from another web site *} {fetch file='http://www.myweather.com/68502/'} {* fetch a news headline file via ftp *} {fetch file='ftp://user:[email protected]/path/to/currentheadlines.txt'} {* as above but with variables *} {fetch file="ftp://`$user`:`$password`@`$server`/`$path`"} {* assign the fetched contents to a template variable *} {fetch file='http://www.myweather.com/68502/' assign='weather'} {if $weather ne ''} <div id="weather">{$weather}</div> {/if}