[PHP-users 6232] Re: require()関数の使い方についての質問
Tamio Shibata
php-users@php.gr.jp
Sat, 16 Mar 2002 02:41:29 +0900
柴田@名古屋です
> お世話になりますclamです
【略】
> require関数はマニュアルを見ると、戻り値を設定したら
> パーサーエラーになる、とありましたが
> 引数を設定してはいけないとは書いて有りませんでした
> require('footer.inc($tittle)');
> のどこがおかしいのでしょうか?
> 何卒是非、御教授お願いします。
マニュアルの
http://jp.php.net/manual/ja/function.include.php
にある
----------------------
"URL fopenラッパー"が 有効になっている場合(デフォルト設定では有効です)、ロー
カルなパス名 の代わりにURL(HTTP経由)を用いて読み込むファイルを指定することが
可能です。 URLで指定されたサーバがファイルをPHPコードとして解釈することが 出
来る場合には、HTTP GETを使用してURLリクエストに引数を指定することが 出来ま
す。これはファイルの読み込み云々やスコープの継承とは関係なく、 ただ単純にス
クリプトがリモートのサーバで実行されて結果がローカルの スクリプトに読み込ま
れる、というだけのことです。
----------------------
のことを言われているのでしょうか。
そうであれば、
例えば
呼び出すphpの中で
require( 'http://www.example.com/footer.inc?title=INDEX.HTML' );
という書き方になるかと思われます。
実験してみました。
footer.inc の内容が、
--------
<html>
<head>
<title><? echo $title; ?></title>
</head>
<body>
$titleの値は、<? echo $title; ?>です。
</body>
</html>
---------
test.php の内容が、
---------
<?
$title="INDEX.HTML";
$req_path="http://www.example.com/footer.inc?title=".$title;
require( $req_path );
?>
---------
であれば、
test.phpをパースした結果は
---------
<html>
<head>
<title>INDEX.HTML</title>
</head>
<body>
$titleの値は、INDEX.HTMLです。
</body>
</html>
---------
となります。
--
********************************
株式会社 有人社 IT-P事業部
柴田 民雄 shibata@yujinsha.co.jp
********************************