0

まず最初に、この質問がすでに回答されている場合はお詫び申し上げます。

これが私のセットアップです:

2 つの異なるフォルダーに 2 つの php ファイルがあります。

AAA/1.php AAA/BBB/CCC/2.php

「2.php」は「1.php」に含まれています。

いくつかの異なるフォルダーで「2.php」を使用する必要があるため、どのフォルダーにローカライズされているかを知る必要があります。したがって、「2.php」には次のようなコードが必要です。

    $directory = [whatever code I need to know where I am];

上記の例では、相対パスは次のようになります: BBB/CCC

見つけたいくつかの関数とコーディングを試してみましたが、「1.php」への完全なサーバーパスしか取得できません。

誰でも私を助けることができますか?

4

2 に答える 2

2

あなたが探しているのはdirname(__FILE__);

詳細については、 PHP: Magic Constantsを参照dirname()してください。

__FILE__ ファイルのフル パスとファイル名。インクルード内で使用すると、インクルードされたファイルの名前が返されます。PHP 4.0.2 以降、 FILEには常にシンボリック リンクが解決された絶対パスが含まれていましたが、古いバージョンでは状況によっては相対パスが含まれていました。

于 2012-10-15T21:46:38.417 に答える
0

ドキュメントルートをパスの開始として使用できるため、心配する必要はありません。

例えば

$_SERVER['DOCUMENT_ROOT'].'/AAA/1.php'

$_SERVER['DOCUMENT_ROOT'].'/AAA/BBB/CCC/2.php'

php.ini の設定があまり変更されない限り、どこにいても動作するはずです。

または、 basename()dirname()の組み合わせを使用できます

于 2012-10-15T21:48:50.117 に答える