この件は SO で議論されていることは知っていますが、解決策を見つけることができませんでした。
私はassign.phpを持っています:
$a=1;
require.php:
require "assign.php";
および echo.php:
require "require.php"
echo $a;
1.問題は、ファイルを複製せずに、別の場所から「require.php」を使用したい場合です。例えば、
/フォルダ/echo.php:
require "../require.php";
echo $a;
require.php は、存在しない /folder/assign.php を要求しようとしているため、機能しません。
require.php で完全な URL を使用しようとしています:
require "http://site.com/assign.php";
コードはインクルードされていませんがコンパイルされており、 $a はグローバルではないため、定義されていないため、どちらも機能しません。
グローバルの使用は実際には推奨されないという人もいました。
また、ファイルシステムのフル パスを使用することは危険であると言われています。
解決策は何ですか?require.php がどこからインクルードされていても、require.php が常に assign.php の正しいパスに移動するようにするにはどうすればよいですか?