php讀取目錄及子目錄下所有文件名的方法
本文實(shí)例講述了php讀取目錄及子目錄下所有文件名的方法,分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
一般來(lái)說(shuō)php中讀取目錄下的文件名的方式確實(shí)不少,最簡(jiǎn)單的是scandir,具體代碼如下:
$file=scandir($dir);
print_r($file);
稍微復(fù)雜點(diǎn)的,來(lái)自于php手冊(cè):
// 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)前指定目錄下的文件,對(duì)子目錄中的文件則無(wú)法讀取。原來(lái)自己寫過(guò)一個(gè)循環(huán)刪除所有目錄的一段代碼,需要逐個(gè)子目錄刪除所有文件,包括多層。但是只需要讀出文件名,稍微復(fù)雜點(diǎn),網(wǎng)上找到一個(gè)能用,原始代碼有錯(cuò)誤提示,改了一下引用&$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('.'));
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP實(shí)現(xiàn)word轉(zhuǎn)pdf的兩種方式(有用!)
最近遇到一個(gè)需求,將word文件轉(zhuǎn)換成pdf,輾轉(zhuǎn)了一上午終于搞定了,下面這篇文章主要給大家介紹了關(guān)于PHP實(shí)現(xiàn)word轉(zhuǎn)pdf的兩種方式,需要的朋友可以參考下2022-09-09
PHP的autoload機(jī)制的實(shí)現(xiàn)解析
在使用PHP的OO模式開(kāi)發(fā)系統(tǒng)時(shí),通常大家習(xí)慣上將每個(gè)類的實(shí)現(xiàn)都存放在一個(gè)單獨(dú)的文件里,這樣會(huì)很容易實(shí)現(xiàn)對(duì)類進(jìn)行復(fù)用,同時(shí)將來(lái)維護(hù)時(shí)也很便利2012-09-09
PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之三 重新組織數(shù)據(jù)
承接上文的PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之 重新組織你的函數(shù)繼續(xù)重構(gòu)方面的內(nèi)容2012-04-04
用緩存實(shí)現(xiàn)靜態(tài)頁(yè)面的測(cè)試
用緩存實(shí)現(xiàn)靜態(tài)頁(yè)面的測(cè)試...2006-12-12

