[PHP-users 1601] Re: include の戻り値。
Osamu Shigematsu
php-users@php.gr.jp
Tue, 28 Aug 2001 18:50:52 +0900
重松です。こんにちは。
on 01.8.28 6:12 PM, Mayumi Nakajima at mayumi@b-wave.co.jp wrote:
> ローカルでもだめでした。
> 引数を持たせただけで、次のような警告が出てしまうからです。
> 引数を持たせなければ、うまくいきます。
>
> Failed opening 'test2.php?test=aaa' for inclusion
> (include_path='.:/usr/local/lib/php')
やりたいことが今ひとつ理解できていないのですが、POST した値は、基本的にグロー
バル変数として取り扱えます。あるいは、$HTTP_POST_VARS という配列でアクセスで
きます。
なので、その「test2.php」というファイルの $test という変数に 'aaa' という値
を渡したいなら、
$test = 'aaa';
$result = include($path_to_test2_php . 'test2.php');
とでもすればいいだけじゃないんですか?
もし、test2.php のなかで、わざわざ $HTTP_POST_VARS[test] とかして、アクセス
していたら、
$HTTP_POST_VARS['test'] = 'aaa';
とするとか?
# $HTTP_POST_VARS って書き込み可能ならば、ですが。。。
値だってそんなことをして返さなくても、適当な変数に入れて返せばよいだけのこと
ではないんですか?
テストするまでもないけど、一応動作確認してみました
index.php の内容
<?php
$test = 'aaa';
print $result = include('test.inc');
?>
test.inc の内容
<?php
return sprintf("Hello, %s!", $test);
?>
実行結果
Hello, aaa!
環境は、
Apache 1.3.20
PHP 4.0.6
です。
動かない理由をどうしても追及したいなら、ソースを読むとか?
--
Osamu Shigematsu
http://www.ravi.ne.jp/
mailto:shige@ravi.ne.jp