欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php realpath 無效

王梓涵1年前7瀏覽0評論
在PHP開發過程中,有些場景需要獲取當前文件或目錄的絕對路徑,常用的函數是realpath。不過,有些時候realpath函數返回的路徑卻是無效的,這就需要我們仔細分析一下。
例如,比較常見的一個情況是在部署網站時,需要將網站目錄設置為絕對路徑,以便在代碼中引用其他文件時使用。這時我們可能會用以下代碼獲取當前網站的絕對路徑:
php
$rootPath = realpath(__DIR__);

然而,當我們在PHP的CLI模式下執行該腳本時,代碼輸出的絕對路徑卻是無效的。這是為什么呢?
實際上,問題出在了realpath函數的參數上。在CLI模式下,__DIR__并沒有指向當前文件所在目錄,而是指向了PHP命令行執行的當前工作目錄。因此,realpath函數返回的是命令行執行的工作目錄下的該文件的絕對路徑,而不是我們期望的網站根目錄的絕對路徑。
為了解決這個問題,我們可以使用以下代碼來獲取網站根目錄:
php
$rootPath = realpath(dirname($_SERVER['SCRIPT_FILENAME']));

這里使用了$_SERVER['SCRIPT_FILENAME']獲取當前腳本的真實路徑,dirname函數獲取該路徑的上級目錄,然后再使用realpath函數獲取該目錄的絕對路徑,這樣就能得到我們所需的網站根目錄的絕對路徑了。
除了CLI模式外,還有一些其他的情況下realpath函數也會返回無效的路徑。例如,在使用Apache服務器時,在.htaccess文件中使用realpath函數獲取當前目錄絕對路徑時,也會返回無效的路徑。