2017-05-31 209 views
0

我有以下的目錄結構:查找目錄路徑(遞歸)匹配的目錄名

/mnt/disk/documents 
/mnt/disk/data/files/ 
/mnt/disk/data/morefiles/ 

掛載點disk/是可變的。我需要從data/以及它的子目錄中獲取所有文件。我知道如何使用glob列出文件,但在這種情況下,我需要先找到目錄data,並且遞歸地查找所有文件。

我該怎麼做,不知道從一開始的完整路徑?

+0

簡單使用realpath(string $ path); –

+0

爲什麼你不知道完整的路徑?在這種情況下,掛載點「disk」是如何注入腳本的? – k0pernikus

+0

用戶將在/ mnt下掛載一個設備,這將創建一個掛載點。我不知道moutpoint的名稱,但我知道設備上有一個名爲'data'的目錄。 – MikeSkril

回答

0

單程。

realpath (string $path); 

的realpath()擴展所有的符號鏈接並解決引用輸入路徑「/./」,「/../」以及多餘的「/」字符並返回規範化的絕對​​路徑名。

例子:

PHP:

<?php 
    echo realpath('/windows/system32'); 

    echo realpath('C:\Program Files\\'); 
    ?> 

結果:

C:\WINDOWS\System32 
C:\Program Files 

簡單方法。任何問題,只要問我會盡力回答。

+0

是的,但我不知道/ mnt /中的目錄是什麼。它可能是/ mnt/disk,/ mnt/disk1或其他目錄名稱。我沒有看到我如何使用實時路徑在/ mnt的變量子文件夾中找到目錄'data'。 – MikeSkril

+0

如果有幫助,你可以得到當前的工作目錄。 「GETCWD();」 - 獲取當前的工作目錄在這個鏈接中看到更多:http://php.net/manual/en/function.getcwd.php –

+0

謝謝@Jose,但我不是在尋找。 – MikeSkril