- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:再度、リモートファイルのrequireに関して)
リモートファイルのrequireに関する疑問
このQ&Aのポイント
- 再度、リモートファイルのrequireに関して質問させていただきます。
- phpファイルを読み込む際に、呼び出される側のサーバーで認識されない場合、正常に呼び出せることがあります。
- しかし、直接アクセスされたときに中身を見られるのが嫌なため、phpファイルを読み込みたいと考えています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
http://www.php.net/manual/ja/function.include.php > URLで指定されたサーバがファイルをPHPコードとして解釈することが 出来る場合には、HTTP GETを使用してURLリクエストに引数を指定することが 出来ます。これはファイルの読み込み云々やスコープの継承とは関係なく、 ただ単純にスクリプトがリモートのサーバで実行されて結果がローカルの スクリプトに読み込まれる、というだけのことです。 と書かれているとおり、ローカルサーバー上のファイルをinclude/requireする場合と、リモートのファイルのそれとは動作が異なると言うことでしょう。 ローカルファイルは単なる読み込み(置き換え)、httpを経由してファイルをinclude/requireする場合はリモート側で実行すると言うことです。 #HTTP GETでは apacheが応答するわけですから、受け側のapacheがPHPから呼び出されてるのか、それともブラウザから呼び出されているのかを判別できないでしょう。 http://okweb.jp/kotaeru.php3?q=710671 > require ("http://www.****2.com/hoge2.php"); ここで hoge2.phpが www.****2.com のサーバー上で実行されます。このファイルは関数が定義されているだけなので何もしないで終了。 > dispword(); そして、requireではファイルが読み込まれたわけではないので、関数未定義のエラーとなるわけですね。
お礼
yatokesaさん、解答ありがとうございます。 http://www.php.net/manual/ja/function.include.php は何回も見ていたんですが、ご指摘の記述部分はなんとなく読み流していました。 でも、おかげさまで動作しないメカニズムはよく理解できました。 結局私が考えていた方法は難しいというのがわかりましたので、実行結果を取り込む形のコードに書き換えます。 どうもありがとうございました。