- ベストアンサー
PHPの起動メイン ファイル名は、何ですか?
HTML の場合、HP で起動するメインのファイル名は、Index.html ですが、PHP の場合 Index.php でよいのでしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>HPのトップページは、どのページを開くのかを選択するメニューの役目しかしないページを考えています。 >この場合 Index.html を Index.php にしておけば3つの .html の内部に PHP 句があった場合解釈してもらえるのかどうかを考えてみたものです。 メニューとしての役割を理解することはWebサーバでは行いませんから、それぞれただの独立したファイルとして扱われます。 ページ遷移の際には、ユーザーが操作するクライアント(ブラウザ)から独立したHTTPリクエストが送られますから、htmlはただのhtmlと認識されます。 1)index.phpを開き、その中のリンクからx1.htmlに遷移する x1.htmlはHTMLとして動作 2)index.htmlを開き、その中のリンクからx1.htmlに遷移する x1.htmlはHTMLとして動作 3)index.phpを開き、その中のリンクからp1.phpに遷移する p1.phpはPHPとして動作 4)index.htmlを開き、その中のリンクからp1.phpに遷移する p1.phpはPHPとして動作 極論、遷移元と遷移先のページに関して関連はありません。 遷移先の拡張子によってApacheは判断します。 ってことで、いいのかな? また、ディレクティブ設定でindex.htmlを指定した場合にはディレクトリにアクセスした場合アドレスとしてindex.htmlは確かに含まれません。 が、サーバの動作としてはindex.htmlを開いたのと同じ扱いになります。
その他の回答 (5)
- neko-ten
- ベストアンサー率55% (1287/2335)
>HTML ファイル中に PHP コードが書ける HTML構文と混在できる、ならわかりますが・・・ この文言はかなり語弊がありますね~ > Index.php なら、それから呼び出される xxx1.html >xxx2.php を呼び出したときは うーん、「呼び出される」の定義が現状わからないです。 PHPでinclude書いてファイルをよりこんだ場合は、PHPとして処理されますが・・・。 リンクから開くということであれば・・・ 簡易的ですが、WebServerの動きとしては 1)ブラウザがHTTPリクエストを送る 2)Webサーバがリクエストを受領する 3)コネクション制御 4)リクエストの内容に応じて、各種パーサ処理をWebサーバが行う 5)応答を返す 6)接続クローズ となります。 (ほんとは接続処理の部分などでいろいろあります。) HTTPに関しては、原則すべてリクエストベースです。 Webサーバとしてはリクエストがなければ動作しませんから、ファイルからファイルを呼び出すという動作は行われません。 あくまでリクエストするのはブラウザであり、(リファラとしてパラメータはあるものの)Webサーバではリンク元を認識しません。 つまり、リンク元が何であろうと拡張子がphpであればphpですし、htmlであればhtmlとしての動作をします。 なんで、あくまでブラウザがリクエストしているファイルの拡張子を気にするだけ、ってことですね。 Ajaxでも、JavaScriptを使っているだけで内部としてはブラウザがHTTPリクエストを行うという概念は変わらないです。 呼び出す、の定義がもし違ってたらすいません。 その場合は申し訳ないですが補足お願いします。
補足
呼び出すと言うのは、私流の言葉なので厳密ではないかもしれません。 私の認識として HPのトップページは、どのページを開くのかを選択するメニューの役目しかしないページを考えています。 Index.html と x1.html、x2.html、x3.html の4つのファイル構成の場合、Index.html は、x1、x2、x3 のどれを選ぶかの役目しかない場合を考えています。x1 は時事解説、x2 は技術解説・・・のように、それぞれ独立したものです。この場合 Index.html を Index.php にしておけば3つの .html の内部に PHP 句があった場合解釈してもらえるのかどうかを考えてみたものです。 さらに4つ目のファイルを x4.php にしてトップページから x4 を選べるようにした場合どうなるのかも議論の対象にしました。 私の前提条件の説明不足のため、neko-tenさんに理解いただけなかったのだと思います。 今まで議論を重ねた内容の前提条件が以上のようなものだったので、うまくかみ合っていないとの印象を抱き続けていました。今回の説明で理解いただけたと思っていたのですが、甘かったようです。
- neko-ten
- ベストアンサー率55% (1287/2335)
遅くなりました、申し訳ないです。 >これでは、何も表示されませんでした。私なりの結論は、「通常の yyy.html ファイルでは、PHP コーディングを解釈してくれない」です。 >そのような訳で、今回の質問をしたわけです。 このあたりはHTTPサーバの話ですけど、基本的に拡張子を見ます。 HTMLはHTMLファイルとして扱いますから、要求されたらそのままクライアント投げるだけでPHPには飛びません。 なんで、ジャストシステムのサポートで「拡張子をphp」て話が出たわけです。 つまり、HTML拡張子の場合は解釈しない、というより解釈する処理を行うエンジンを通さないって感じです。 ほかにも拡張子がCGIの場合はCGIエンジンに飛ばして処理を行わせます。 これらの設定をApacheで行ってるので、拡張子は重要。 もちろん、設定でhtmlもPHPエンジンに飛ばすことはできますが、処理増えるだけなのでしないでしょうな・・・。 サーバによっては、拡張子がphp5とphp4でエンジンを変えるところもあります。 >部分的に、 <?php と ?> を追加して PHP コーディングをする手抜きをするつもりです HTMLの中にそうやって書き込めるのがPHPの強みでもあります。 とはいえ、きちんとコメント書いていかないと後から編集しにくくなりますから注意です。 >サーバ 立場としては管理側です。レンタルではないですが。 レンタルサーバも個人的には使ってますが、CoreServerなんで特段なんてことはないサーバです。 強いて言うなら安い(年2500円+ドメイン代くらい)。でもサポートはないです。(さすがに障害とかは問い合わせますが、その程度です) ドメインの設定とか、自分でできるのでわかる場合には楽って気はします。 あとは自前でサーバ立てしてますが、それはまた別のお話ですね・・・(HTTPだけじゃない)
補足
neko-tenさん、回答有難うございます。neko-tenさんの回答は頂いた当日認識していましたが、PHP プログラムで使用する約3000行の MySQL データーベース作成に没頭していたため、お礼が遅くなりました。 neko-tenさんのレベルからすれば、全くど素人の私にお付き合いいただき、恐縮です。頂いた回答は、一々私の疑問を納得させるもので、本当に感謝しています。 私が最初に疑問を抱いたのは、「HTML ファイル中に PHP コードが書ける」と云う PHP のうたい文句でした。PHP 処理環境が存在し、その環境が HTML ファイルを処理している時と云うのが大前提で、これは全くの誇大説明だと思いました。それを確かめるため、Index.html の中に PHP コーディングを挿入してみたら、PHP コードの処理をしてくれません。おっしゃるように、「解釈する処理を行うエンジンを通さない」と云うわけですね。 今私が想像していることは、次の2つです。 (1) HP のトップ ファイルが Index.php なら、それから呼び出される xxx1.html 中でも PHP 句を解釈してくれる。 (2) Index.html の場合は、xxx2.php を呼び出したときは、多分(あくまでも「多分」です) PHP 句を解釈してくれる。しかし、xxx3.html 中のPHP 句の解釈は確かめないと不明。「PHP を解釈するエンジンに切り替わったとは考えにくい」と云うのが理由です。 実際に確かめていないので、間違っているかもしれません。neko-tenさんの意見をお聞かせください。ご意見を頂き次第、この質問をクローズさせていただきます。 当初 MySQL を使うつもりはありませんでした。MySQL を使ったことも無いので、Access か SQL Server を使うことになるだろうと漠然と考えていたのですが、ジャストシステムのサイトだと MySQL も提供されているので、方針変更した次第です。 前回話題にした NTT コミュニケーションズのレンタル サーバーですが、ドメインは “.JP” の制限があり、私のドメインが“.com”なのでレジストラーを私が探さねばならないということで諦めました。 「年2500円+ドメイン代くらい」の安さに驚いています。この質問と同じカテゴリーで、別の質問を投稿しますので、neko-tenさんご利用のレンタルサーバーについて教えてください。タイトルは、「レンタルサーバについて教えたください」です。
- neko-ten
- ベストアンサー率55% (1287/2335)
>ここから呼び出すページが xxx.php であれば、 xxx.php は、PHP のページとして有効なページになると考えてよいでしょうか? 普通のHTMLと同じく、リンクをそのままはってあげればそのまま動きますから、あまり心配いらないと思います。 xxx.phpを直接URIで呼び出しても、リンクで呼び出しても問題ないでしょう。 サーバとしては拡張子がPHPになっている場合にはPHPパーサに一度飛ばしてあげる処理を行うだけで、実際にHTTPで応答する内容はHTMLです。 リンクで開く場合、パラメータ送信にGETを使うかPOSTを使うか・・・などといった考慮事項はありますが、それは実際のスクリプトを作成していく段階で考慮すればいいかな。 index.htmlなどの設定は、ファイルを指定しなかった場合にWebサーバが自動的に呼び出すファイルの名前というだけですから、実際の動作に関してはあまり関係がありません。 特にディレクティブ設定してTopからPHPにするのでなければ、今回はあまり気にしなくていい部分ですね。 ちょこちょこジャストシステムのサイトを確認はしてみましたが、そこまで難解な設定を必要とはしないようですね。 基本的にはPHPをそのまま保存して、HTMLと同じようにアクセスしてあげればまずは動くと思います。 >ジャストシステムに別の HP を開設し、ここで半年くらい色々テストする案を考えています。 ローカルサーバも立てていらっしゃるようですし、問題のない案だと思います。
補足
neko-tenさん、いろいろ有難うございます。本当に感謝しています。 実は2週間前、現在の私の HP の index.html に PHP のコードを埋め込んでみました。内容は、次のようなものです。 <?php echo “I am PHP”; ?> これでは、何も表示されませんでした。私なりの結論は、「通常の yyy.html ファイルでは、PHP コーディングを解釈してくれない」です。 そのような訳で、今回の質問をしたわけです。 前回いただいた回答で .htaccess のこともはじめて知り、自動的にスタートするファイルを指定できることもなんとなく分かりました。 しかし今回は、HTML で全てを書く時間余裕も無く、極力ホームページビルダーを活用し、部分的に、 <?php と ?> を追加して PHP コーディングをする手抜きをするつもりです。全面 PHP コーディング ファイルも極力ホームページビルダーのコーディングを流用し、ファイル名の拡張子は .html を .php に変更してアップロードするつもりです。neko-tenさんの .htaccess を作るテクニックと同じです。この手抜きでは、FTP は、ホームページビルダーの FTP が使うつもりです。 追加の質問です。もしかして neko-tenさんは、レンタル サーバーをお使いなのでしょか?もしそうであれば、レンタル サーバーの情報などを教えて頂きたく思います。可能性があれば、また別途新しい質問を投稿します。neko-tenさんの前回の回答に有った .htaccess のリンクで NTT のレンタル サーバーの広告がありましたので、NTT に質問書を送っております。 ジャストシステムは、ホームページビルダー サービス以外は、熱意が無いようで、考えてもいなかったレンタル サーバーの選択肢もありかな、と考えています。
- neko-ten
- ベストアンサー率55% (1287/2335)
と、ジャストシステムのサーバであればindex.phpがデフォルトで設定入ってるはずです。 また、.htaccessの利用もできるので、DirectoryIndexの設定でデフォルト設定も可能のはず・・・ (私がサービス使ってないので、サイトから得られる予測で申し訳ないです) .htaccessは、頭に.が付いてるのでWindows上で作るのは面倒です。 htaccess.txtなどで作成しアップロード後、FTPを使ってファイル名を変えるのが楽かと思います。 内容については http://www.tagindex.com/other/htaccess.html あたりを参照ください。
- neko-ten
- ベストアンサー率55% (1287/2335)
>Index.html ですが >PHP の場合 Index.php でよいのでしょうか? 決まってません。 すべてサーバの設定次第です。 また、その設定いかんによっては.htaccessで制御が可能です。 サーバによってはtop.htmlも対象だったり、拡張子htmも対象だったり。 また、優先順位も設定で変っています。 そのため、index.htmlとindex.phpが両方同じディレクトリに存在した場合の優先順位などもサーバで変ります。 Apacheであれば、ディレクティブ設定が記載してあるconfに、IISであればIIS設定のドキュメントなどで設定されています。 一般的にはサーバ側設定ですから、サーバ仕様書に記載があるはずです。
補足
neko-tenさん、またまたお世話になります。早速私の投稿を見つけて頂き感謝します。 今回の投稿は、説明が不足していました。反省して若干補足させていただきます。 頂いた回答から類推すると Index.htm をトップ ページにして、ここから呼び出すページが xxx.php であれば、 xxx.php は、PHP のページとして有効なページになると考えてよいでしょうか? 実は、長年 IIJmio に加入していましたが、料金の安さから2年近く前ジャストシステムに乗り換えました。そのため、PHP のためにまた別のプロバイダーに乗り換えるのは、億劫です。 折角ジャストシステムで PHP が使えるのであれば、このまま使い続けたいのが本音です。 現在の HP をいきなり PHP に切り替えるのは、問題があるかもしれので、ジャストシステムに別の HP を開設し、ここで半年くらい色々テストする案を考えています。 半年間の費用は1万円程度なので、この方法が現実的だと考えています。これだと、トラブルが生じても今動いている HP は、影響しません。
お礼
neko-tenさん、長々とお付き合いいただき、有難うございました。私が、PHP 環境のHPを持たないため、机上の空論めいた質問に根気よく回答を頂いたことに感謝します。 あとは私が、PHP環境のHPを運用しながら学ぶ番です。 これでクローズさせていただきます。本当に有難うございました。