0

vars.phpを含めると:

$var='hello';

index.php内:

require 'vars.php';
echo $var;

$ varはグローバルではありませんが、うまく機能します。しかし、index.phpが次のようになっている場合:

require 'http://site.com/vars.php';

echo$varは機能しません。とにかくそれを機能させるにはどうすればよいですか?

4

1 に答える 1

1

できません。 は、site.com の Web サーバーによってレンダリングされた PHP スクリプトの出力require 'http://site.com/vars.php';を取得しようとします。これはもはや PHP コードではありません。この方法で Web サーバーに PHP ソース コードを返すことはできません。

なぜこれをしたいのですか?可能な場合は、インクルードで相対パスを使用することをお勧めします。こうすることで、ハードコーディングされたパス名を編集することなく、アプリケーション コードを移動したり、別のサーバーにデプロイしたりできます。

とにかく、これはおそらくあなたが代わりにやりたいことだと思います(相対パスではなく絶対ファイルシステムパスを使用):

require '/path/to/site.com/files/vars.php';

Linux では、このディレクトリ名は多くの場合/var/www. Windows では、パスはドライブ文字とコロンで始まります。

require 'vars.php';ステートメントが相対URLではなく、相対ファイル システム パスであることを理解することが重要です。

于 2012-04-03T20:09:13.623 に答える