アプリ版:「スタンプのみでお礼する」機能のリリースについて

includeでおかしな動きがあり、困っています。

●ケース1
include ("check.php");

こちらは問題なく稼働します。

●ケース2

include ("http://xxx.com/check.php");

この書式だと動作しません。
ちなみに、ケース1の場合も、実行ファイル、includeするファイルとも、
http://xxx.com/ 配下に存在しています。

ケース2のように、URL表記で外部ファイルを取り込むようにするには
どうすればよろしいのでしょうか?

よろしくご指導お願いいたします。

A 回答 (3件)

>ケース1の場合は、phpinfo()の結果が表示されます。


>ケース2の場合には、何も表示されません。
>これは、正しい動きなのでしょうか?

正しい動きだと思います。
ケース1の時はinclude元(check.phpではない方)の処理の一環として phpinfo() が実行されますので、正しく出力されます。

ケース2の場合はinclude元に phpinfo() の実行結果がincludeされます。
(ブラウザで http://xxx.com/chekc.php へアクセした際のHTMLソースがincludeされます)
結果として、PHPのプログラムの中にHTMLが紛れ込むので正しく出力されない可能性が高いと思われます。(プログラム次第では正しく表示できる可能性もあるとは思いますが)
    • good
    • 0
この回答へのお礼

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

ありがとうございました。

お礼日時:2009/10/08 17:18

ケース2の時 xxx.com のhttpサーバは check.php のソースを返してきているのでしょうか?



もし check.php の処理結果を返してきていたらエラーになります。

この回答への補足

コメントありがとうございます。

includeしているファイルは以下の通りです。

●check.php
<?php
print phpinfo();
?>

ケース1の場合は、phpinfo()の結果が表示されます。
ケース2の場合には、何も表示されません。

これは、正しい動きなのでしょうか?

補足日時:2009/10/08 16:05
    • good
    • 0

マニュアルを見ましょう。



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

参考URL:http://jp.php.net/manual/ja/function.include.php

この回答への補足

コメントありがとうございます。

ご紹介いただいたマニュアル(URL)は既に拝見した上での質問でした。

該当URLの、『例3 HTTP経由のinclude()』 が関係している箇所とは思うのですが、私には力量不足で理解できませんでした。

補足説明をいただれば幸いです。

補足日時:2009/10/08 16:16
    • good
    • 0

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