mirror of
				https://github.com/smarty-php/smarty.git
				synced 2025-10-31 04:11:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| {fetch} {#language.function.fetch}
 | |
| =======
 | |
| 
 | |
| `{fetch}` is used to retrieve files from the local file system, http, or
 | |
| ftp and display the contents.
 | |
| 
 | |
| -   If the file name begins with `http://`, the web site page will be
 | |
|     fetched and displayed.
 | |
| 
 | |
|     > **Note**
 | |
|     >
 | |
|     > This will not support http redirects, be sure to include a
 | |
|     > trailing slash on your web page fetches where necessary.
 | |
| 
 | |
| -   If the file name begins with `ftp://`, the file will be downloaded
 | |
|     from the ftp server and displayed.
 | |
| 
 | |
| -   For local files, either a full system file path must be given, or a
 | |
|     path relative to the executed php script.
 | |
| 
 | |
|     > **Note**
 | |
|     >
 | |
|     > If security is enabled and you are fetching a file from the local
 | |
|     > file system, `{fetch}` will only allow files from within the
 | |
|     > `$secure_dir` path of the security policy. See the
 | |
|     > [Security](#advanced.features.security) section for details.
 | |
| 
 | |
| -   If the `assign` attribute is set, the output of the `{fetch}`
 | |
|     function will be assigned to this template variable instead of being
 | |
|     output to the template.
 | |
| 
 | |
|    Attribute Name    Type    Required   Default  Description
 | |
|   ---------------- -------- ---------- --------- ------------------------------------------------------
 | |
|         file        string     Yes       *n/a*   The file, http or ftp site to fetch
 | |
|        assign       string      No       *n/a*   The template variable the output will be assigned to
 | |
| 
 | |
| 
 | |
|     {* 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}
 | |
| 
 | |
|       
 | |
| 
 | |
| See also [`{capture}`](#language.function.capture),
 | |
| [`{eval}`](#language.function.eval),
 | |
| [`{assign}`](#language.function.assign) and [`fetch()`](#api.fetch).
 |