{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 用于赋值的变量名


Example 8.5. {fetch} 例子

  1. {* include some javascript in your template *}
  2. {fetch file='/export/httpd/www.example.com/docs/navbar.js'}
  3.  
  4. {* embed some weather text in your template from another web site *}
  5. {fetch file='http://www.myweather.com/68502/'}
  6.  
  7. {* fetch a news headline file via ftp *}
  8. {fetch file='ftp://user:password@ftp.example.com/path/to/currentheadlines.txt'}
  9. {* as above but with variables *}
  10. {fetch file="ftp://`$user`:`$password`@`$server`/`$path`"}
  11.  
  12. {* assign the fetched contents to a template variable *}
  13. {fetch file='http://www.myweather.com/68502/' assign='weather'}
  14. {if $weather ne ''}
  15. <div id="weather">{$weather}</div>
  16. {/if}
  17.  

参见 {capture}, {eval}, {assign}fetch().

原文: https://www.smarty.net/docs/zh_CN/language.function.fetch.tpl