ホームページ >バックエンド開発 >PHPチュートリアル >PHP インクルードパラメータに関連する問題を解決する
パラメーターを使用した PHP インクルードの問題を解決します
php のインクルードは外部 php ファイルをロードできますが、そのパラメータはファイル名であるため、パラメータを取ることはできません。 PHP では、include によってロードされるファイルにパラメーターが必要な場合、方法は 1 つしかありません。つまり、パラメーターはフルパスの URL アドレスです。 例: include "http://localhost/aaa.php?id=1" //修正 1.php を次のように実行すると、$a の値 123 ただし、問題がある場合は、パラメーターを取得するために include が必要であるため、ロードされたファイルでローダー ファイル内の変数を使用するほど単純ではありません。 現在の要件は次のとおりです: 次に、メイン ファイル (1.php とする) に次のように記述します。 include "aaa.php"; 実際、上記の方法によれば、最終的には、前述したようにメインファイル内の変数を直接使用するのと大きな違いはありませんが、これを行う利点は、変数が何であるかに関係なく、メインファイルの変更点は、aaa.php のこの関数を変更する必要はなく、他のファイルにインクルードすることで引き続き使用できます。 このように、メインファイル内で変数を直接使用する場合と、メインファイル内で関数を作成して呼び出す場合の違いは、すでに明らかです。 原文: Qianxue Network http://www.ayinsky.com
include "aaa .php?id=1"; //Error
実際、include の本来の意味は、外部ファイルを現在のファイルにロードすることだけであり、コードの説明はありません。それ。したがって、パラメータを取得することは無意味に思えます。
たとえば、次のコード (1.php):
$a="123";
include "aaa.php";
aaa.php を使用して受信したい変数 $a の値を取得するには、 aaa.php 内で直接呼び出すだけです。 たとえば、 aaa.php のコードは次のとおりです:
echo $a;
異なるパラメータに従って、同じファイルに異なるコードセグメントを含めたいと考えています。
上記の要件に基づいて、私の解決策は次のとおりです。
ロードされたファイル (aaa.php と想定) にコードを関数として書き込みます。例:
function abc($x)
{
$returnValue;
switch($x)
{
ケース 1:
$returnValue="Apple";break;
ケース 2:
="バナナ";break;
ケース 3:
$returnValue="カランボラ";break;
}
}
echo abc(1); //出力: Apple
echo abc(2); //出力: Banana
echo abc(3); //出力: スターフルーツ
以下は、私自身の使用中に遭遇したいくつかの経験の要約です: readfile("http://XXXX/example.php?name=value") を使用して、パラメーター付きのファイルを渡します~~