0

私はこの問題から抜け出そうとしばらくさまよっていました。

スクリプトが実行されている場所を知りたいphpソフトウェアがあります。

例えば

私は /foo/bar/home.php を持っています。この場合、/foo/bar が私のルートであることを知りたいです。しかし、管理ページの例 /foo/bar/admin/index.php がある場合、この場合も /foo/bar が必要です。または

/foo/bar/foo/index.php -> /foo/bar/foo /foo/bar/foo/randomname/home.php -> /foo/bar/foo

どうすればそれを達成できますか?

手伝ってくれてありがとう

4

2 に答える 2

1

$_SERVERスーパーグローバル変数のプロパティにアクセスできます。

echo $_SERVER['DOCUMENT_ROOT'];

以下は、「/foo/bar/foo/index.php」にある場合、echo になり/foo/bar/foo/ます。

于 2012-10-08T18:11:49.517 に答える
1

/foo/barファイルシステムのパスとは思えないので、これは URL パスの最初の部分であると思います。

このプレフィックスがすべてに適用されていることを、アプリケーションはどのように認識しますか? どこかにインストールする必要があり、書き換えが適用されない場合、ファイルシステムのパスのレイアウトと URL のパスのレイアウトはある程度一致します。これは実際にいくつかの文字列を減算することでパス情報を生成するために使用されるかもしれませんが、私はそれが役に立つとは思えません.

どこにでも含まれるファイルに定数「INSTALL_PATH」および/または「INSTALL_URL」を定義することを選択します。これは、ベースURLまたはファイルパスに対する相対位置を認識し、単純な文字列操作を実行します。

define('INSTALL_PATH', basename(__DIR__); // go one level up

于 2012-10-08T19:16:17.240 に答える