2011-07-22 86 views
0

我被這個問題嚴重困擾了。我正在學習使用simpletest來運行我的單元測試。在我的一個示例測試類中,我正在測試一個解析器,它接受一個文件並處理內容。fopen問題,使用php簡單測試

我決定創建一個帶有示例內容的文件來測試解析器。該文件位於子目錄中。運行fopen()fwrite()後,我不斷收到文件不存在的錯誤。我嘗試了一個file_exists(),它也返回false。然後我刪除了路徑,只留下了文件名,這次它工作,但我找不到文件。我將代碼移出測試類並運行它,它工作正常,並且該文件位於當前工作目錄中。

在我看來,運行測試方法中的代碼會創建除當前目錄以外的其他位置的文件。這是問題,我無法找到這些文件。我已經做了深入的搜索,手動通過我的wamp文件夾,仍然找不到它。

如果有人可以幫我在這裏,我會很感激。 我在wampserver 2.0i上運行php 5.3.5。 Simpletest是版本1.1 Alpha 3.謝謝。

+1

只需指定fopen的絕對路徑? – JohnKlehm

+0

工作。謝謝。仍然想知道文件在哪裏。 @John – frostymarvelous

+0

也許是一個許可問題... – Warface

回答

3

您可以撥打getcwd http://php.net/manual/en/function.getcwd.php來獲取當前工作目錄。

+0

好的,那實際上工作。方法內的cwd是B:\ wamp \ bin \ apache \ Apache2.2.11。我想知道爲什麼。謝謝。我沒有想到簡單地檢查一下,因爲我沒有想到它會改變。但爲什麼在Apache? :? – frostymarvelous

+0

該腳本由apache服務/守護程序執行,因此工作目錄通常是可執行文件的位置。 – JohnKlehm

+0

它只是最簡單的腳本?爲什麼我的其他腳本不會出現這種情況?有關於此的任何資源?謝謝。 – frostymarvelous