php讀取目錄及子目錄下所有文件名的方法
本文實(shí)例講述了php讀取目錄及子目錄下所有文件名的方法,分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
一般來說php中讀取目錄下的文件名的方式確實(shí)不少,最簡單的是scandir,具體代碼如下:
$file=scandir($dir);
print_r($file);
稍微復(fù)雜點(diǎn)的,來自于php手冊:
// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
} closedir($dh);
}
}
這些都只能讀取當(dāng)前指定目錄下的文件,對子目錄中的文件則無法讀取。原來自己寫過一個循環(huán)刪除所有目錄的一段代碼,需要逐個子目錄刪除所有文件,包括多層。但是只需要讀出文件名,稍微復(fù)雜點(diǎn),網(wǎng)上找到一個能用,原始代碼有錯誤提示,改了一下引用&$data的地方,如下所示:
if(is_dir($path)){
$dp=dir($path);
while($file=$dp->read()){
if($file!='.'&& $file!='..'){
searchDir($path.'/'.$file,$data);
}
}
$dp->close();
}
if(is_file($path)){
$data[]=$path;
}
}
function getDir($dir){
$data=array();
searchDir($dir,$data);
return $data;
}
print_r(getDir('.'));
希望本文所述對大家的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
使用systemd設(shè)置PHP程序?yàn)榉?wù)的配置步驟
在現(xiàn)代?Linux?系統(tǒng)中,systemd?是用于管理和控制服務(wù)的標(biāo)準(zhǔn)工具,通過?systemd,我們可以輕松地將?PHP?程序配置為后臺運(yùn)行的系統(tǒng)服務(wù),本文將介紹如何為?PHP?程序設(shè)置?systemd?服務(wù)單元,并涵蓋相關(guān)配置步驟,需要的朋友可以參考下2024-10-10
PHP+redis實(shí)現(xiàn)的悲觀鎖機(jī)制示例
這篇文章主要介紹了PHP+redis實(shí)現(xiàn)的悲觀鎖機(jī)制,簡單介紹了redis鎖機(jī)制與樂觀鎖、悲觀鎖等概念,并結(jié)合實(shí)例形式分析了php+redis實(shí)現(xiàn)悲觀鎖相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
網(wǎng)頁上facebook分享功能具體實(shí)現(xiàn)
本文為大家介紹下網(wǎng)頁上facebook分享功能的具體實(shí)現(xiàn),詳細(xì)代碼請看本文2014-01-01
php fputcsv命令 寫csv文件遇到的小問題(多維數(shù)組連接符)
fputcsv() 將一行(用 fields數(shù)組傳遞)格式化為 CSV 格式并寫入由 handle指定的文件2011-05-05
php防止偽造數(shù)據(jù)從地址欄URL提交的方法
針對偽造的數(shù)據(jù)從URL提交的情況,首先是檢查前一頁來源,這個方法只能防止手動在瀏覽器地址欄上輸入的URL,目前覺得還是用POST的方法傳遞重要數(shù)據(jù)比較可靠2014-08-08
PHP在終端中實(shí)現(xiàn)進(jìn)度條來處理數(shù)據(jù)的示例詳解
在PHP中,有時候你需要在終端中處理大量數(shù)據(jù)或執(zhí)行長時間運(yùn)行的任務(wù),同時希望能夠?qū)崟r跟蹤任務(wù)的進(jìn)度,在 PHP 中,有時候你需要在終端中處理大量數(shù)據(jù)或執(zhí)行長時間運(yùn)行的任務(wù),同時希望能夠?qū)崟r跟蹤任務(wù)的進(jìn)度,需要的朋友可以參考下2023-10-10

