{fetch} - PHPプロ!マニュアル

Smartyマニュアル

- {fetch}

{fetch}

{fetch} は、ローカルシステムやhttp, ftpからファイルを取得し、 コンテンツを表示します。

  • ファイル名が http:// から始まる場合は、web サイト上のページを取得して表示します。

    注意: http リダイレクトはサポートしていません。 必要に応じて、最後のスラッシュをつけることを忘れないようにしましょう。

  • ファイル名が ftp:// で始まる場合は、 ftp サーバからダウンロードしたファイルを表示します。

  • ローカルファイルの場合には、ファイルのフルパスあるいは 実行する PHP スクリプトからの相対パスを指定する必要があります。

    注意: テンプレートの $security が有効になっており、 ファイルをローカルファイルシステムから取得する場合、 {fetch} は定義済みの 安全なディレクトリ のいずれかにあるファイルのみを受け付けます。

  • assign 属性を指定すると、 {fetch} 関数の出力がこのテンプレート変数に割り当てられます。 テンプレートには出力されません。

属性名 必須 デフォルト 概要
file string Yes n/a 取得するファイル、http あるいは ftp のサイト
assign string No n/a 出力が割り当てられるテンプレート変数

例 8-8. {fetch} の例

{* テンプレートにJavaScriptを含めます *}
{fetch file='/export/httpd/www.example.com/docs/navbar.js'}

{* 他のwebサイトからテンプレートに天候のテキストを埋め込みます *}
{fetch file='http://www.myweather.com/68502/'}

{* ftp経由でニュースヘッドラインファイルを取得します *}
{fetch file='ftp://user:password@ftp.example.com/path/to/currentheadlines.txt'}
{* 上と同じですが、変数を使用します *}
{fetch file="ftp://`$user`:`$password`@`$server`/`$path`"}

{* 取得したコンテンツをテンプレート変数に割り当てます *}
{fetch file='http://www.myweather.com/68502/' assign='weather'}
{if $weather ne ''}
  <div id="weather">{$weather}</div>
{/if}

{capture}{eval} {assign} および fetch() も参照してください。

閲覧履歴



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)

Q&A掲示板 新着情報