{fetch}
{fetch}
用于获取文件内容、HTTP或者FTP内容,以便输出。
- 如果提供的文件名是以
http://
开头,那么网站的内容将被获取并显示。
Note
该函数不支持直接的HTTP访问,请确认网页的地址是以斜杠结尾。
如果文件名是以
ftp://
开头,那么文件会被从FTP中下载并显示。本地文件而言,可以使用绝对路径的文件,或者相对于当前执行的PHP脚本的路径文件均可。
Note
如果开启了安全机制,那么从本地获取文件内容,{fetch}
函数仅能读取在 $secure_dir
安全目录下的文件。 参见安全机制。
- 如果你提供了
assign
属性,{fetch}
函数的输出将不会显示,而是赋值给模板变量。
参数名称 | 类型 | 必选参数 | 默认值 | 说明 |
---|---|---|---|---|
file | string | Yes | n/a | 获取的文件名、HTTP或者FTP网址 |
assign | string | No | n/a | 用于赋值的变量名 |
- {* 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:password@ftp.example.com/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}
参见 {capture}
, {eval}
, {assign}
和 fetch()
.
原文: https://www.smarty.net/docs/zh_CN/language.function.fetch.tpl