2013-05-02 73 views
0

我試圖加載在書籍目錄中的文件的名稱,用下面的代碼文件夾中:加載文件使用PHP

<?php 

    if ($handle = opendir('/Books')) { 
    echo "Directory handle: $handle\n"; 
    echo "Entries:\n"; 

    while (false !== ($entry = readdir($handle))) { 
     echo "$entry\n"; 
    } 
closedir($handle); 
} 
?> 

但似乎不顯示姓名。我是否做錯了或沒有找到正確的目錄?

+0

嘗試使用完整的路徑而不是相對路徑。像「/var/www/vhosts/domaain.com/httpdocs/Books」 – karmafunk 2013-05-02 11:30:15

+0

@karmafunk你的意思是我希望的反面? – bwoebi 2013-05-02 11:30:34

+0

上面的作品適合我。 – karmafunk 2013-05-02 11:35:00

回答

2

好像你正在使用錯誤的目錄......我認爲Books文件夾與腳本位於同一目錄中?

然後僅使用opendir('Books')其爲相對目錄路徑。

當您使用/Books時,您使用位於文件系統根目錄下的Books文件夾。 (這被稱爲絕對路徑)

+0

我改變了你的建議,但它仍然不顯示列表。 – user2342875 2013-05-02 11:31:56

+0

嘗試使用error_reporting(-1)啓用您的錯誤; ini_set(「display_errors」,1);'說出'opendir()'調用拋出哪個錯誤? – bwoebi 2013-05-02 11:33:26

+0

我使用了chrome調試器功能,它顯示php代碼已經放入註釋中。是否有一個原因? – user2342875 2013-05-02 11:45:23

0

我想我會用scandir()這一個:

<?php 
$scanner = scandir("theFolder"); 
foreach ($scanner as $fileName) { 
    echo "$fileName<br>"; 
} 
?> 
+0

這不是解釋提問者的錯誤。 – bwoebi 2013-05-02 11:30:17

+0

如果你只是想讓不是子目錄的文件尋找所有'$ fileName'變量的點。 – TCB13 2013-05-02 11:30:52

+1

沒有列出沒有擴展名的可執行文件嗎?然後你必須檢查'!is_dir(「$ folder/$ fileName」)' – bwoebi 2013-05-02 11:32:03