色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php glob 遞歸

李明濤1年前7瀏覽0評論

PHP中的glob()函數是一個非常實用的方法,可以用于獲取指定目錄下的所有文件和子文件夾中的文件。

在使用glob()函數時,可以通過 "*"、"?"以及"[]" 來匹配文件名。例如,如果使用“*.txt”,則glob()函數會返回所有以.txt結尾的文件名。

$files = glob('/path/to/folder/*.txt');
print_r($files);

如果要獲取所有的文件及子文件夾中的文件,則可以使用遞歸函數來處理。下面是一個示例函數,用于獲取指定目錄下的所有文件和子文件夾中的文件。

function getFiles($dir, $ext) {
$files = array();
$dir = rtrim($dir, '/');
foreach (glob($dir.'/'.$ext) as $file) {
$files[] = $file;
}
foreach (glob($dir.'/*', GLOB_ONLYDIR) as $subdir) {
$files = array_merge($files, getFiles($subdir, $ext));
}
return $files;
}
$files = getFiles('/path/to/folder', '*.txt');
print_r($files);

在上面的示例中,getFiles()函數被遞歸調用,以便完成對指定目錄下的所有文件和子文件夾中的文件的搜索。該函數接受兩個參數,$dir和$ext。$dir表示要搜索的目錄,$ext表示要搜索的文件擴展名。函數首先將指定目錄中所有匹配 $ext 的文件添加到一個數組中。隨后,使用glob()函數獲取子文件夾的名稱,并將數組與遞歸調用getFiles()函數返回的結果合并。

遞歸調用getFiles()函數將持續進行,直到目錄中沒有子文件夾為止。在這個過程中,每個再次調用getFiles()函數都會將新的子文件夾的內容添加到數組中。最終結果就是包含所有文件的數組。

function getFiles($dir, $ext) {
$files = array();
$dir = rtrim($dir, '/');
foreach (glob($dir.'/'.$ext) as $file) {
$files[] = $file;
}
foreach (glob($dir.'/*', GLOB_ONLYDIR) as $subdir) {
$files = array_merge($files, getFiles($subdir, $ext));
}
return $files;
}
$files = getFiles('/path/to/folder', '*.txt');
print_r($files);

總結:PHP glob函數的遞歸使用為編寫程序時提供了廣闊的創作空間,它簡潔而高效,相比與其他代碼結構編寫,glob函數的遞歸使用將使代碼流程更具有展示性,同時,對于查找所有匹配文件名的操作也更為快速。