__FILE__是魔術常量,用於獲取文件的完整路徑和文件名。如果用在被包含文件中,則返回被包含的文件名。
下面我們通過實例來介紹getcwd與dirname(__FILE__)區別。
文件/folder/random/foo.php的代碼如下:
<?php echo getcwd() . "\n"; echo dirname(__FILE__) . "\n" ; echo "-------\n"; include 'bar/bar.php';
文件/folder/random/bar/bar.php的代碼如下:
<?php echo getcwd() . "\n"; echo dirname(__FILE__) . "\n";
運行代碼/folder/random/foo.php,結果為:
/folder/random /folder/random ------- /folder/random /folder/random/bar
從上面實例可以看出, getcwd()獲取的是當前運行腳本的目錄,不管getcwd()是在被包含的文件裡面還是在當前執行腳本文件裡面,運行的結果不會發生任何變化。而__FILE__獲取的是文件名稱,如果用在被包含文件中,則返回被包含的文件名,如果直接用在當前運行腳本裡面,則返回運行腳本的文件名稱。
希望通過此文能幫助到大家,謝謝大家對本站的支持!