PHP は、マジック定数FILE を使用して、現在のファイルが他のファイルに含まれているかどうかに関係なく、現在のファイルの絶対パスを取得できます。これは多くの状況で非常に便利ですが、ファイルの読み取りや書き込みの場合などに便利です。動作時は、現在のスクリプトの作業ディレクトリ、つまりエントリphpファイルのディレクトリを基準に取得します。このとき、phpが提供する別の関数getcwd()を使用して取得できます。以下の2つを参照してください。例
ch06 にファイルを作成する test.php の内容は以下の通りです
<?php $a= getcwd(); //变量a的值为D:\php\zend6.1\ch6 $b=FILE; //变量b的值为D:\php\zend6.1\ch6\test.php ?>
getcwd() はファイルの絶対パスを返しますが、ファイル自体の名前は含まれていないことがわかります。 FILE はファイルの絶対パスを返しますが、ファイル自体の名前が含まれます。 次に、ch06 プロジェクトの下にフォルダー admincp を作成します。 admincp フォルダーに fff.php ファイルを作成します。コードは以下の通りです
<?php include_once '../test.php'; echo $a;//变量a中的值是D:\php\zend6.1\ch6\admincp echo '<pre class="brush:php;toolbar:false">'; echo $b;//变量b中的值是D:\php\zend6.1\ch6\test.php ?>
test.phpファイルが別ファイルにインクルードされていることが分かります。 test.php ファイル内の getcwd() を使用して取得した test.php のパス変数 a は、インクルード後に変更されます。
ディレクトリ構造ffff.phpが配置されているディレクトリadmincpを追加しました。そのため、ファイルの配置を使用する場合はFILEの方が優れています