dポイントプレゼントキャンペーン実施中!

プログラムを始めたばかりでよく分からないのですが、どうしてもしていかなければならなくなりどうぞお力をお貸しください。

smartyをつかい、ホームページ上に画像があるかどうかを確認して○×を出したいのですがエラーでどうしようもありません。
どうしたらいいかお願いします。

<{if isset(http://どこかのページ.com/image/sample1.jpg) }>

<{else}>
×
<{/if>>

でたらめはわかっているのですが、すみませんがどうぞ添削をお願いします。

A 回答 (2件)

http://smarty.php.net/manual/ja/
公式サイトのマニュアルくらい見ましょうよ。

そもそも質問者の野郎としていることはsmartyでやるべき事ではなくて
PHPのプログラムないでやるべき事でしょうね。
それでフラグを渡してあげて判断する。

#1もfile_exists()がsmartyの機能ではないことくらい書きましょう。

一応{php}を使えばテンプレート(.tpl)内にPHPを直接書き込めますが
それだとテンプレートエンジンの意味合いが無くなりますので非推奨な機能です。
(PHPのプログラム本体がブラックボックス化している状態でPHPを直接扱いたいときは別ですけどね。)
    • good
    • 0

isset()は変数の存在をチェックする関数です。


ファイルの有無を調べるならばfile_exists()が楽です。
allow_url_fopenが有効になっていればの話ですが。

参考URL:http://jp2.php.net/file_exists

この回答への補足

ご連絡ありがとうございます。
早速
<{if file_exists(http://どこかのページ.com/image/file1.jpg) }>○<{/if}>
としたのですが、以下のエラーが出ます。

すみません。できたらせつめいお願いできますでしょうか?

Fatal error: Smarty error: [in file:30/product.tpl line 125]: syntax error: unbalanced parenthesis in if statement (Smarty_Compiler.class.php, line 1256) in /home/sites/××.co.jp/××/××/libs/smarty/Smarty.class.php on line 1088

お願いします。

補足日時:2007/11/22 18:08
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!