• ベストアンサー

includeができない

includeでおかしな動きがあり、困っています。 ●ケース1 include ("check.php"); こちらは問題なく稼働します。 ●ケース2 include ("http://xxx.com/check.php"); この書式だと動作しません。 ちなみに、ケース1の場合も、実行ファイル、includeするファイルとも、 http://xxx.com/ 配下に存在しています。 ケース2のように、URL表記で外部ファイルを取り込むようにするには どうすればよろしいのでしょうか? よろしくご指導お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5253/13739)
回答No.3

>ケース1の場合は、phpinfo()の結果が表示されます。 >ケース2の場合には、何も表示されません。 >これは、正しい動きなのでしょうか? 正しい動きだと思います。 ケース1の時はinclude元(check.phpではない方)の処理の一環として phpinfo() が実行されますので、正しく出力されます。 ケース2の場合はinclude元に phpinfo() の実行結果がincludeされます。 (ブラウザで http://xxx.com/chekc.php へアクセした際のHTMLソースがincludeされます) 結果として、PHPのプログラムの中にHTMLが紛れ込むので正しく出力されない可能性が高いと思われます。(プログラム次第では正しく表示できる可能性もあるとは思いますが)

myart
質問者

お礼

おかげさまで、現象とその理由がよくわかりました。 ありがとうございました。

その他の回答 (2)

  • t_ohta
  • ベストアンサー率38% (5253/13739)
回答No.2

ケース2の時 xxx.com のhttpサーバは check.php のソースを返してきているのでしょうか? もし check.php の処理結果を返してきていたらエラーになります。

myart
質問者

補足

コメントありがとうございます。 includeしているファイルは以下の通りです。 ●check.php <?php print phpinfo(); ?> ケース1の場合は、phpinfo()の結果が表示されます。 ケース2の場合には、何も表示されません。 これは、正しい動きなのでしょうか?

回答No.1

マニュアルを見ましょう。 一言言わせてもらうと、実務でリモートのファイルをインクルードする必要があった試しがありませんが。

参考URL:
http://jp.php.net/manual/ja/function.include.php
myart
質問者

補足

コメントありがとうございます。 ご紹介いただいたマニュアル(URL)は既に拝見した上での質問でした。 該当URLの、『例3 HTTP経由のinclude()』 が関係している箇所とは思うのですが、私には力量不足で理解できませんでした。 補足説明をいただれば幸いです。

関連するQ&A

専門家に質問してみよう