可以使用PHP的scandir()函數和is_dir()函數來獲取指定目錄下的所有目錄。
scandir()函數返回一個包含指定目錄中所有文件和目錄的數組,is_dir()函數用於判斷給定的路徑是否是一個目錄。
下面是一個示例代碼,它使用了這兩個函數來獲取指定目錄下的所有目錄:
<?php
// 指定要查找的目錄
$dir = "/path/to/directory";
// 使用scandir()函數獲取目錄中的所有文件和目錄
$files = scandir($dir);
// 遍歷所有文件和目錄,使用is_dir()函數判斷是否是目錄
foreach ($files as $file) {
if ($file != "." && $file != ".." && is_dir($dir . "/" . $file)) {
echo $file . "\n";
}
}
?>在上面的代碼中,$dir變量指定要查找的目錄。使用scandir()函數獲取目錄中的所有文件和目錄,然後使用foreach循環遍歷每個文件和目錄。對於每個文件和目錄,使用is_dir()函數判斷是否是一個目錄,如果是,則將目錄名打印出來。注意,爲了排除當前目錄(".")和上級目錄(".."),在遍歷時需要加上判斷條件$file != "." && $file != ".."。
封裝成函數
你需要多次使用一個代碼塊時,可以將其封裝成一個函數,以便於在需要時進行調用。
下面是一個將獲取指定目錄下所有目錄封裝成函數的示例代碼:
function getDirectories($dir) {
$directories = array();
if (is_dir($dir)) {
$files = scandir($dir);
foreach ($files as $file) {
if ($file != "." && $file != ".." && is_dir($dir . "/" . $file)) {
$directories[] = $file;
}
}
}
return $directories;
}在這個函數中,我們傳入一個參數$dir,該參數是要查找的目錄的路徑。函數首先創建一個空數組$directories,用於存儲找到的目錄名稱。然後使用is_dir()函數判斷傳入的目錄是否是一個合法的目錄,如果是,就使用scandir()函數獲取目錄下的所有文件和目錄。接着使用foreach循環遍歷每個文件和目錄,使用is_dir()函數判斷是否是一個目錄,如果是,將目錄名添加到$directories數組中。最後,函數返回$directories數組,其中包含所有找到的目錄名稱。
要調用這個函數,只需要傳入要查找的目錄的路徑即可,例如:
$dir = "/path/to/directory";
$directories = getDirectories($dir);
print_r($directories);上述代碼將獲取$dir目錄下的所有目錄,並將它們存儲在$directories數組中,然後使用print_r()函數打印出來。