scandir()
是 PHP 中的一個內置函數,用于讀取指定目錄中的文件和子目錄
scandir()
替代 dir()
:盡管 dir()
函數也可以用于讀取目錄,但 scandir()
提供了更多功能,如過濾文件和子目錄。使用 scandir()
可以讓你的代碼更簡潔。$files = scandir('directory_path');
scandir()
函數默認會返回所有文件和子目錄,包括 “.” 和 “…”。你可以使用 array_filter()
函數過濾掉不需要的文件和子目錄。$files = scandir('directory_path');
$filtered_files = array_filter($files, function ($item) {
return $item != '.' && $item != '..';
});
scandir()
與 foreach
循環結合:遍歷目錄中的所有文件和子目錄,并對它們執行特定操作。$files = scandir('directory_path');
foreach ($files as $file) {
if ($file == '.' || $file == '..') {
continue;
}
// 對每個文件或子目錄執行特定操作
}
scandir()
與 array_map()
結合:對目錄中的每個文件和子目錄執行特定操作,并將結果存儲在一個新數組中。$files = scandir('directory_path');
$new_files = array_map(function ($file) {
if ($file == '.' || $file == '..') {
return null;
}
// 對每個文件或子目錄執行特定操作,并返回結果
return $file;
}, $files);
scandir()
與 usort()
結合:根據自定義規則對目錄中的文件和子目錄進行排序。$files = scandir('directory_path');
usort($files, function ($a, $b) {
// 根據自定義規則比較 $a 和 $b
return strcmp($a, $b);
});
scandir()
與 array_column()
結合:從目錄中的文件和子目錄中提取特定屬性,并將結果存儲在一個新數組中。$files = scandir('directory_path');
$file_names = array_column($files, 'name');
總之,scandir()
是一個功能強大的 PHP 函數,可以幫助你輕松處理目錄中的文件和子目錄。通過結合其他 PHP 函數,你可以實現許多高級操作。