ホームページ  >  記事  >  バックエンド開発  >  PHPのgetcwd()メソッドと__FILE__メソッドの違いは何ですか

PHPのgetcwd()メソッドと__FILE__メソッドの違いは何ですか

怪我咯
怪我咯オリジナル
2017-07-10 15:42:281427ブラウズ

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 &#39;../test.php&#39;;
echo $a;//变量a中的值是D:\php\zend6.1\ch6\admincp
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
echo $b;//变量b中的值是D:\php\zend6.1\ch6\test.php
?>

test.phpファイルが別ファイルにインクルードされていることが分かります。 test.php ファイル内の getcwd() を使用して取得した test.php のパス変数 a は、インクルード後に変更されます。

ディレクトリ構造

ffff.phpが配置されているディレクトリadmincpを追加しました。そのため、ファイルの配置を使用する場合はFILEの方が優れています

<?php
define(&#39;PATH_ROOT&#39;,($PATH_ROOT=dirname(FILE))?$PATH_ROOT:&#39;..&#39;);
$PATH_admincp=PATH_ROOT.&#39;\admincp&#39;;
$PATH_picture=PATH_ROOT.&#39;\pciture&#39;;
$PATH_admincp_include=$PATH_admincp.&#39;\include&#39;;
?>
<?php
include_once dirname(FILE).&#39;/../../path.php&#39;;
include_once PATH_ROOT."/con_ini.php";
?>

以上がPHPのgetcwd()メソッドと__FILE__メソッドの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。