如何在PHPunit中使用./
?我試過幾種方法這樣的:如何在PHPUnit中使用絕對路徑?
mkdir('./foo)
它總是失敗,但它是通過瀏覽器工作。
但是如果我使用:
mkdir('../../../foo')
這是通過PHPUnit的工作,但錯誤通過瀏覽器。
但是如果我使用:
mkdir(dirname(__FILE__).'../../../foo');
在所有不工作。
如何在PHPunit中使用./
?我試過幾種方法這樣的:如何在PHPUnit中使用絕對路徑?
mkdir('./foo)
它總是失敗,但它是通過瀏覽器工作。
但是如果我使用:
mkdir('../../../foo')
這是通過PHPUnit的工作,但錯誤通過瀏覽器。
但是如果我使用:
mkdir(dirname(__FILE__).'../../../foo');
在所有不工作。
嘗試此,
MKDIR(目錄名(FILE ) '/ ../../.. /富');
dirname(FILE)將爲您提供文件位置的絕對路徑。這可能與命令行和瀏覽器不同。讓我們假設網頁位於文件系統上的/ apps /網站(或Windows上的C:\ apps \ website)上進行基本安裝。
您的Web服務器LIKEY服務於網站的默認值(簡單配置),因此
http://localhost/
是URL。因此,現在Web服務器和命令行對於源代碼文件具有不同的路徑。
如果index.php文件是在網站目錄,目錄名(FILE)會給你不同的結果:
瀏覽器:的index.php,
命令行:/apps/website/index.php
考慮到這一點,../foo.php也將在不同的相對目錄中,這取決於你從哪裏運行它。
瀏覽器:無效的,因爲你不能去上面/ 命令行:/apps/foo.php(/apps/website/../foo.php)
當寫你的測試,你需要知道你在結構中的位置,以及相對路徑到達你的位置的位置,然後相應地改變相對路徑。假設你有一個lib子目錄網站(/應用/網站/ LIB)和PHPUnit的測試是在該目錄中,並且希望從父foo.php,那麼你可以使用
dirname(__FILE__) . '/../foo.php'); //Assuming __FILE__ is /apps/website/lib/file.php
目錄名()一般沒有結尾的斜槓,所以在組合剩餘的相對路徑時需要添加它。
它也不起作用 – mockie