今日、__DIR__ という見たことのないマジック変数を見つけました。調べてみると、php5.3 で追加されたものでした。ところで、php のマジック変数についていくつか例を挙げて説明します。
1: __FILE__
ファイルのフルパスとファイル名。インクルードされたファイル内で使用された場合、インクルードされたファイルの名前を返します。 PHP 4.0.2 以降、__FILE__ には常に絶対パス (シンボリック リンクの場合は解決された絶対パス) が含まれますが、それより前のバージョンには相対パスが含まれる場合がありました。
この変数は私が最もよく使うものであり、おそらく誰もが最もよく使うものです。
Web サーバーはすべて documentroot を指定しますが、サーバーごとに documentroot 設定が異なる場合があります。この場合、Web サイトをあるサーバーから別のサーバーに移動すると、パスに違いが生じ、Web サイトが実行できなくなる可能性があります。
<?php /** 在你的公用的配置文件中,来设置你的根目录,这样就不用担心经常搬家了。 */ define('ROOT_PATH', dirname(__FILE__) . DIRECTORY_SEPARATOR); echo ROOT_PATH; echo "<br>"; echo __FILE__; echo "<br>"; echo dirname(__FILE__); echo "<br>"; echo dirname(dirname(__FILE__)); ?>
出力:
C:WebApachehtdocsMagic