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

Takahito Ito php-users@php.gr.jp
Tue, 28 Aug 2001 19:30:19 +0900


こんばんは、伊藤貴人です。

既に収束したようですが。

"Mayumi Nakajima" さんが [2001/08/28 18:40:24] に書いた
"[PHP-users 1598] Re: includeの戻り値。" について
> Mayumiです。
<--snip-->
> すぐに、[PHP-users 1584] の方法があったことに気づいて
> 訂正メールを出したのですが、どうしても
> 『HTTP経由での戻り値が全て「1」しか返って来ない』
> ということが分からなかったものですから、
> どなたか、分かる方がいれば教えてもらいたかったからです。

# 以下、多分に憶測ですので、嘘ついてたらごめんさい。

HTTP経由の場合、ブラウザから直接叩いたのと同じ結果がincludeされます。
# まあ、WEBサーバを経由するのだから当然な気もしないでもないですが。

--inc.php--
<?php
if(empty($aaa)){
    echo "aaa is empty<br>";
}else{
    echo "aaa is not empty<br>";
}
?>

というファイルがあった場合、呼び出す側が

<?php
$aaa = "aaa";
include("http://localhost/inc.php");
?>

と

<?php
$aaa = "aaa";
include("inc.php");
?>

では結果が違います。

で、Mayumiさんの
> 『HTTP経由での戻り値が全て「1」しか返って来ない』
ですが、
<?php
return "abc";
?>
というスクリプトをブラウザから直接叩いても、画面には
なにも出力されないので、include関数だって、ローカル
ファイルのときのようなreturn値は分からないと思います。
なので、該当ファイルがオープンできれば全て "1" なのかなと。

#----------------------------------------------#
  Takahito Ito
                 mail : takahito@po.jah.ne.jp
#----------------------------------------------#