我正在使用具有以下代碼的php庫:require_once dirname(__FILE__) . '/config.php';
require_once dirname(__ FILE__)...的用途是什麼?
從我讀到的,dirname(__FILE__)
指向當前目錄。
因此寫require_once 'config.php';
難道不容易嗎?
我唯一的猜測是,包括dirname(__FILE__)
確保require_once
函數使用絕對路徑而不是相對路徑。
我正在使用具有以下代碼的php庫:require_once dirname(__FILE__) . '/config.php';
require_once dirname(__ FILE__)...的用途是什麼?
從我讀到的,dirname(__FILE__)
指向當前目錄。
因此寫require_once 'config.php';
難道不容易嗎?
我唯一的猜測是,包括dirname(__FILE__)
確保require_once
函數使用絕對路徑而不是相對路徑。
是的,你是對的文件的工作 - dirname(__FILE__)
確保require_once功能使用絕對而不是相對路徑。
__FILE__
常量代表正在運行的腳本。它將返回正在運行的腳本的完整路徑和文件名。
例如,如果一個名爲database.init.php
腳本,從任何地方包括在文件系統中要包括腳本database.class.php
,其中規定在同一目錄下,你可以使用:
require_once dirname(__FILE__) . '/database.class.php';
一個例子:
如果您的文件inlcuded然後某處默認情況下它會開始從包括你的文件的路徑搜索。在這種情況下,需要將不旁邊,是您的文件
這就是理由 - 它保證絕對路徑。其他腳本可以用'chdir()'來改變工作目錄,這會混淆包含路徑。同樣,如果從HTTP以外的其他名稱(例如CLI或cron)調用,include路徑可能會不同,或者工作目錄可能不同。 –
可以使用'__DIR__'來代替... –
同樣'__DIR__'可以從php 5.3或更高版本獲得。來源:[1](http://stackoverflow.com/a/29423749/3258851),[2](http://stackoverflow.com/a/2749423/3258851) –