• 締切済み

ihtmlファイルについて

スクリプト部分とhtml部分を分ける目的でihtmlというのがよく使われているようですが、特別な決まりがあるのでしょうか? スクリプト中でincludeすると思うんですが、ihtmlではなくswfでもcgiでも何でもいいんでしょうか?(ihtmlもswfもcgiも拡張子だけで実際はhtmlに<?php echo $abc; ?>等が書かれてるファイルです。) また、皆さんはhtml部分を分けるときはどうしていますか?

みんなの回答

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.1

がると申します。 んっと…正直、あまり見たことがない拡張子なのですが。どうも、一部で使われているようですね。 こういった「デザインとロジックを切り分ける」処理を「テンプレート分離」とか呼称します。 有名なPHPのテンプレートエンジンとしては、Smartyっていうのがありますね。一度調べられてみるのもよろしいかと思います(個人的にはあまり好みませんが…)。 私は自作のテンプレートエンジンがあるのですが。 いずれにしても、テンプレートを使うコツは「プログラム部分にはHTML要素を持たない」「テンプレート部分にはロジックを持たない」ようにすると、よろしいかと思われます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • シェルによるファイル名の拡張子の変換

    tcshを使ってhtmlファイルの拡張子をcgiに変換するためのスクリプトを書いているのですが、拡張子名の変更をechoで出力する際の  echo ${$htmlfile%html}cgi ('$htmlfile'には変換するhtmlファイル名が入っている) という処理で  Missing }. というメッセージがでてきてしまい、うまく処理が続きません。 すみませんがこの部分の処理の間違いが分かる方がいらっしゃいましたら教えていただけないでしょうか? よろしくお願いします。

  • PHPでincludeから取り込んだphpファイル内の相対パスの記述方法について

    階層の異なる場所にあるphpスクリプトファイル内に記述してあるticker.phpを参照するとします。 --"sample.php" <?php include_once(dirname(__FILE__) . "/../ticker.php"); ?> ------------ --"../ticker.php" // ※一部割愛 <embed src="ticker.swf"> ------------ と、このように何の変更も加えない状態だと、ticker.php内に記述しているembedファイルがsample.phpフォルダにあると見なされ、swfファイルの読み込みに失敗します。この「ticker.swf」をきちんと参照できるようにしたいのですが、最適な方法はございますでしょうか。

    • ベストアンサー
    • PHP
  • Webサーバ上の*.cgiファイルは漏洩するのか?

    某社の安いレンタルサーバサービスを利用しています。 Webサーバのフォルダ内に、次のようにファイルとデータを格納しています。 /public_html/index.htm ---PHPスクリプトを呼び出す。 /public_html/program/*.php --- PHPスクリプト /public_html/program/data/meibo.cgi --- テキストファイル meibo.cgi は、通常、拡張子 txt とするテキストファイルですが、外部から読み取られる恐れが高いので、cgiにしてます。 PHPスクリプトは、meibo.cgi のデータをWebページに表示します。 こういう構成で、不正侵入者により meibo.cgi を読み取られる可能性があるんでしょうか。 ハッカーさんが、いろんなツールを使って、ファイル名を調べたり、ファイルを読み取ったりするものなのでしょうか。 よろしくお願いします。

  • そのファイル自身の最終更新日を表示

    PHP初心者以下です。 いまサイト作りをしていて,phpを利用して最終更新日を表示したいと思っています。 調べてみると, <?php echo date( 'Y.m.d', filemtime('ファイル名') ) ?> と書けば良いこと分かりました。 この部分をhtmlに組み込み,includeで呼び出すとします。 この時,'ファイル'名に,呼び出し元のhtmlのファイルを指定するようなことはできますでしょうか。 また,調べてみると  <?echo $PHP_SELF;?> で自身のファイル名を書き出すことができるとあったのですが,これを利用したものをhtmlに組み込み,includeで呼び出すと,表示されるのは組み込んだ側のファイルの更新日時になってしまいますよね…? 色々試してみたのですが,うまくいきませんでした。御教示お願いします。 できないと判断された場合は,できないと書いて頂けると助かります。

    • ベストアンサー
    • PHP
  • fopenでファイルを読み込み、その取り込んだファイルを置換や修正したい。

    こんばんわ。 AというファイルにBというファイルを読みこもうと思うのですがうまくいきません。 ■a.php <?php // ファイルを読み込み専用でオープンする $fp = fopen('b.php', 'r'); // 終端に達するまでループ while (!feof($fp)) { // ファイルから一行読み込む $line = fgets($fp); // 読み込んだ行を出力する print $line; // <br>の出力 print "<br>"; } // ファイルをクローズする fclose($fp); ?> ■b.php <div class="title">コンテンツ</div> <?php $amin = 1; //最小値 $amax = 4; //最大値 $randevent = rand($amin,$amax); //値を表示 if ( $randevent == 1) echo "たちつてと"; // else if ( $randevent == 2) echo "さしすせそ"; // else if ( $randevent == 3) echo "かきくけこ"; // else if ( $randevent == 4) echo "あいうえお"; ?> と、二つのファイルはこのような内容です。 もちろんincludeやリクワイヤーで取り込めばすむのでしょうが、fopenで取り込んで表示させたいのです。 このままの文章だとPHPの構文ごとHPに表記されてしまいます。 Printにしているからでしょうか? fopenでPHPの機能ごと取り込むには方法はありませんでしょうか? includeだと取り込んだ際にPHP構文の置換や修正がきかなくて困るんです。 fopenで取り込むとPHP構文を「あいうえお」の部分を「なにぬねの」にstr_replaceで置換できると思ったのです。 a.phpの中にfopenを使いb.phpの中のPHP構文を機能させる方法はありませんか?

    • ベストアンサー
    • PHP
  • PHP/外部ファイルの数値を計算

    PHPで、計算する時、例えば <?php $x = 5; $y = 3; echo $x + $y ."\n"; ?> とすれば答えが出ます。 この時、$x と$yの値を外部のファイルに入力したいです。 試したのは $xの値は、x.phpというファイルに5と入力 $yの値は、y.phpというファイルに3と入力 そして <?php $x = <?php include('x.php'); ?>; $y = <?php include('y.php'); ?>; echo $x + $y ."\n"; ?> としたのですが、はじかれてしまいます。 正しい方法を教えて頂けないでしょうか。 何卒よろしくお願いします。

    • ベストアンサー
    • PHP
  • CGIの中で異なるContent-typeのファイルを・・・。

    CGIでの処理で、今 http://xxxx.com/ok.cgi?id=123&pass=abc&page=index.html でindex.html が表示されているとします。 それで、このindex.htmlから別の拡張子のファイルへリンクさせ、ファイルをダウンロードできるようにしたいと思っています。lzh ならURLはこん感じになります。 http://xxxx.com/ok.cgi?id=123&pass=abc&page=sample.lzh  しかし ok.cgi の最後で print "Content-type: text/html\n"; exit; を指定しているのでリンク先へ行ってもindex.htmlは表示されますが、リンク先のファイルは動きません。 どうすればダウンロード出来るようになるでしょうか? なるべくこのok.cgi の外に出したくないのです。  また、この中で、リンク先が隠れるphpを入れたいと考えましたが、phpも同様に機能しません。これもどのようにすればよろしいでしょうか?  どなたかよろしくお願い致します。

    • ベストアンサー
    • Perl
  • CGIからHTMLファイルを作るには?

    フリーの2ちゃん系の掲示板CGIを見ていて ふと、思ったのですが 2ちゃんねるって実際に消費者がアクセスするファイルは[.html]ファイルになりますよね? つまり、CGIでなんらかの処理をして[.html]ファイルにする事ができるんですよね? どうやったらいいか、ナニカ説明系のページご存知ないですか? 前出のダウンロードをしても、恐ろしくファイルが分かれていて、どこにその処理をしている部分があるのかわからないんです。 HTMLに書き出す要点部分だけが知りたいんですけどね 実はこれ理由があって、(この理由も間違いかもしれないんですけど) HTMLファイルの方が検索エンジンにひっかかりやすいんでしょ?(だから2ちゃんのスレッドはGOOなどでもひっかかりやすい)と予測してます ここの拡張子も。PHPなので、引っかかりにくいのではと判断してます。 検索に引っかからせたやすいCGIを作る場合 HTMLに吐き出せるのであれば是非とも利用したいです。 宜しくお願いします。 フリーのCGIをダウンして、ちょっとした改造ぐらいならできる知識程度の持ち主です。

    • ベストアンサー
    • CGI
  • .html ファイルでasp実行?

    現状、Win2000Server+IIS5.0 上で、以下のようなファイルが動いています。 これを Win2003Server + IIS6.0に移行しているところなのですが、うまく動きません。 まず、index.aspで、index.htmlにリダイレクトし、index.htmlは表示されます。しかし、index.htmlの最初の行にある<!--#include Virtual = "/gl.asp"-->がインクルードされず、ブラウザに表示されたソースを見るとそのまま表示されてしまいます。 そもそも、.htmlなる拡張でaspが実行されるのかが疑問なのです。 ただ、現行サーバでは動いているんですが。 ちなみに新サーバ上でのIISマネージャのWeb拡張にてSSIやCGI、ASPは有効にしてあります。 次に、SSIを.htmlにマッピングしてみました(現行サーバではそうなっていませんが)。 結果、<!--#include Virtual = "/gl.asp"-->はインクルードされましたが、 gl.aspは実行されずそのまま読み込まれただけです。 つまり、ここでもPerlが実行されないまま、単にインクルードされたに過ぎないのです。 Perlでのスクリプトも単独では動作しているのは確認しております。 新サーバ上で、どのような設定が必要なのかが判りません。どなたかお知恵をお貸しください。 よろしくお願いします。 ****************************** [ファイル名 index.asp] <% リダイレクトの為のスクリプト%> ******************************* [ファイル名 index.html] <!--#include Virtual = "/gl.asp"--><% %> <html ・・・ 以下省略(これ以降もHTMLタグとASPスクリプトの混在したものが続く) ************************* [ファイル名 gl.asp] <script language="PerlScript" runat="Server">Perlスクリプト</script> <% ・・・ 以下省略(これ以降もサーバー側ASPに関する記述が続く)に関する記述が続く)

  • 外部ファイルを別のHTMLファイルに表示したいと思います

    WEBページのHTMLファイルに外部のファイルから文字を読み込むことが出来たと思います。 Javascriptを使うのではなく、掲示板のようなCGIを利用したいと思うのです。 ホームページの作成にあまり詳しくない人が、HTMLファイルを書き換えてアップロードするのは難しいので、掲示板のように簡単に書き込めるCGIを設置して、そこに書込をすれば特定のページに文字や文章が貼り付けられる、という風に利用したいのです。 うろ覚えなのですが、 ・拡張子をHTMLからSHTMLにするということ ・表示したい部分のソースに<!--#exec cgi="○○.cgi"-->と加えるということ 等が条件だったと思います。 ○○.cgiの部分にあたるスクリプトがどこで公開されていたか、どんな物だったか記憶にないのですが、 ご存じの方があれば教えてください。