[PHP-users 1613] Re: includeの戻り値。

f.t. php-users@php.gr.jp
Tue, 28 Aug 2001 21:49:00 +0900


fujiyamaです。

引っ張りすぎて申し訳ないですが、

On Tue, 28 Aug 2001 19:53:24 +0900
Hiroaki TAKAHASHI <hiro@homes.co.jp> wrote:

> HTTPを介すということは,リモートサーバ上でPHPが実行され,
> その結果であるHTMLが送られてくる,ということです.

include()の要求先が要求されたファイルをPHPとして処理する環境だと、処理さ
れたものが送られてくるということですよね。
で、このことについて思ったのですが、要求先の環境によって返り値が同じ内容
のファイルxxx.phpを要求しても結果が変わってくるというのは面倒じゃないで
すか?
include()先のリモートサーバで.incや.txtなんかもPHPとして処理を行うという
設定になっていたら面倒だし…実際そんな利用はしないからいいか(^^;というこ
ともありますが

しかし、マニュアルの「include文は指定されたファイルを読み込み、 評価
します。」という記述を読むと、include()で読み込む時はfile()みたいに直に
読み込んでローカルで判断するようにも思えるけど…うーむ、そうならわかりや
すい。

[PHP-users 1605]の自己訂正 :

> > // main
> > <?
> > $test = include("http://xxxxx/~mayumi/keitai/test2.php");
> > print("TEST: ".$test."<br>");
> > ?>
> // test2.php
> <?
> return "aaa";
> ?>
>どちらにせよ、ちゃんと「TEST:aaa」になると思いますが

で、ちゃんと「TEST:aaa」になるのは
xxxxxがPHPを処理しないサーバの時でしたね。
[PHP-users 1584] では include("check_info.inc");とされていたので気がつい
てなかったです。

あと、
>読込先がPHPとして処理されていないとかいう可能性は(文字コードがあってな
>いとか記述ミスとか)?

というのは、test2.phpが
return "aaa" ?>;
↑<?phpがない
というふうになっていないかという意味でした。
このときは、test2.phpの内容がそのまま表示されますね。

まぎらわしい記述ばっかりでみなさんの邪魔をして
↓
いつもご迷惑かけます。 
f.t. <fujiyama@pc.mycom.co.jp>