今日、PHP の定数 __FILE__ で問題が発生しました。
ネットで調べました。以下のルールをまとめます。
dirname(__FILE___) この関数は、スクリプトが配置されているパスを返します。
たとえば、ファイル b.php には次のコンテンツが含まれています:
<span>1</span> <?<span>php </span><span>2</span><span>$basedir</span> = <span>dirname</span>(<span>__FILE__</span><span>); </span><span>3</span> ?>
b.php が他のディレクトリの .php ファイル require または include によって参照されている場合。
変数 $basedir の内容は、b.php が配置されているフォルダーへのパスのままです。
a.php ファイルが配置されているディレクトリになる代わりに。
dirname(__FILE__) 通常、ファイルが配置されている現在のディレクトリからシステムのルート ディレクトリまでのディレクトリ構造を返します。
現在のファイル名は返されません。
dirname(__FILE__) は . (現在のディレクトリ) を返すこともあります
[その理由は、b.php ファイルが http.conf または PHP 構成開発環境のデフォルトの WEB ディレクトリにあるためです。
たとえば、WEB_ROOT 】
b.php ファイルのパスは、「C:/root/www/b.php」です。
使い方のヒント、
一度繰り返すと移動できます。 1 つ上のレベルのディレクトリ:
例:$d = dirname(dirname(__FILE__));
実際には、ディレクトリを dirname() のパラメータとして与えることです。 dirname() は \\ や /
を付けずに最後のディレクトリを返すため、繰り返し使用すると dirname() は最下位のディレクトリをファイル名として扱うと考えられます。通常どおり、現在のディレクトリの上位ディレクトリに戻ります。
この方法を繰り返して、その上位ディレクトリを取得します。
include(dirname(__FILE__) ).'/.. /ファイル名.php');
上記は、require コンテンツと include コンテンツを含む PHP の __FILE__ 定数を紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。