ホームページ >バックエンド開発 >PHPチュートリアル >php が 2 回インクルードすると、最初のインクルード内の変数は無効になります。
php
ディレクトリ構造 まず、解析シーケンスは次のとおりです
1. ファイルパスは絶対パスですか? はい、含まれており、解析は終了します。いいえ、次のステップに進みます。
2. ファイル パスは相対パスですか (「../index.php」と同様) はい、include_path をスキップして相対パスを解析します。いいえ、次のステップです。
PS: 相対パスの基点は常に「現在の作業ディレクトリ」です。つまり、スクリプト ファイルが存在するディレクトリではなく、このディレクトリでスクリプトを実行します。
たとえば、`php /var を実行したとします。 /root /index.php` の /www では、「現在の作業ディレクトリ」は /var/www/ ではなく /root であり、/var/www は
current_script_dir です。
3. php.ini の include_path (「.:somepath:current_script_dir」など)。 DEFAULT_DIR_SEPARATOR 定数 (ここでは「:」) に従って処理対象リストを分割します
「.」 (現在の作業ディレクトリ)、「somepath (カスタマイズしたディレクトリ)」、「current_script_dir」
これらの後に含まれるファイル名を追加します道を一つずつ試してください。
したがって、あなたの質問は次のようになります
#访问root/c/index.php<?phpinclude "../index.php"; #执行第二步,include进/root/index.phpinclude "config.php"; #执行第三?,当前工作目录为/root/c,current_script_dir也为/root/c,#估计你也没有自定义include_path,所以尝试包含/root/c/config.php,没有这个文件print $shell['jquery'];#Undefined variable?>
いいえ!
ファイル root/c/config.php がない限り、root/config.php は確実にロードされます
どのファイルがロードされているかを確認するには print_r(get_include_files()); を使用できます
Java の考え方を使用して php を作成します。必要なのはクラスだけです
皆さん、ありがとうございます。この問題は Baidu で解決されたことがわかりました
http://zhidao.baidu.com/question/1638100265932728980.html?quesup2&oldq=1
ありがとう @Anew_G、私は初心者なので、わかりません あなたの分析は正しいですか? 正しいようです
皆さん、この問題はBaiduで解決されました
ありがとう @Anew_G 初心者なので、あなたの分析が正しいかどうかわかりませんが、正しいようですので、共有します
そうです。 Register Globals は使用しないのが最善です
理由: http://php.net/manual/zh /security.globals.php