{fetch}

{fetch} est utilisé pour récupérer des fichiers depuis le système de fichier local, depuis un serveur http ou ftp, et en afficher le contenu. Si le nom du fichier commence par "http://", la page internet sera récupérée, puis affichée. Si le nom du fichier commence par "ftp://", le fichier sera récupéré depuis le serveur ftp, et affiché. Pour les fichiers du système local, le chemin doit être absolu ou relatif au chemin d'exécution du script PHP.

Vous pouvez spécifier l'attribut optionnel "assign" qui défini une variable de template dans laquelle la sortie sera stockée plutôt que d'être affichée (nouveau dans Smarty 1.5.0).

Nom attributTypeRequisDefautDescription
filechaîne de caractèresOuin/ale fichier, site http ou ftp à récupérer
assignchaîne de caractèresNonn/ale nom de la variable PHP dans laquelle la sortie sera assignée plutôt que d'être directement affichée.

Note technique : Ne supporte pas les redirections http. Assurez vous d'inclure les slash de fin sur votre page web si nécessaire.

Note technique : Si la sécurité est activée, vous ne pourez récupérer les fichiers du système local que s'ils sont situés dans l'un des répertoires sécurisé ($secure_dir).

Exemple 8-6. fetch

{* Inclus du javascript dans votre template *}
{fetch file="/export/httpd/www.example.com/docs/navbar.js"}

{* récupère les informations météo d'un autre site sur votre page *}
{fetch file="http://www.myweather.com/68502/"}

{* récupère les titres depuis un fichier ftp *}
{fetch file="ftp://user:password@ftp.example.com/path/to/currentheadlines.txt"}

{* assigne le contenu récupéré à une variable de template *}
{fetch file="http://www.myweather.com/68502/" assign="weather"}
{if $weather ne ""}
  <b>{$weather}</b>
{/if}

Voir aussi {capture}, {eval} et fetch().