2012-08-09 134 views
5

我遇到了scandir()問題。我試圖在我的雲中的子域下的頁面上顯示我的snaps目錄中的文件。scandir無法打開目錄

這是我使用的PHP。

$files = scandir('./snaps'); 
print_r($files); 

並且這是錯誤。

Warning: scandir(./snaps) [function.scandir]: failed to open dir: No such file or directory in /home/u703778423/public_html/cloud/index.php on line 39 

Warning: scandir() [function.scandir]: (errno 2): No such file or directory in /home/u703778423/public_html/cloud/index.php on line 39 

我不知道該怎麼辦。

回答

2

假設錯誤,你扣目錄必須有

/home/u703778423/public_html/cloud/snaps 

的絕對路徑確保這是對目錄中的正確位置,以及Web服務器有權限訪問它。

+0

你怎麼知道的?沒有提到,'。/ snaps'應該在哪裏,但只有'。/ snaps'丟失。 – KingCrunch 2012-08-09 14:35:50

+0

@KingCrunch:因爲腳本的位置是在錯誤信息中指定的,而scandir中的路徑是'。/ snaps'。 – 2012-08-09 14:36:57

+0

捕捉直接在public_html中。 – 2012-08-09 14:37:12

7

您可能會假設,當前工作目錄是在scandir()腳本旁邊寫入的,而在許多情況下則不是。

scandir(__DIR__ . '/snaps'); 
0

首先你試圖顯示一些文件,不會呈現爲圖像...前。 (。壓縮)。

另外你是否確定你沒有試圖顯示前兩個索引值「。」和「..」?我在想這段代碼可能不是問題...