php獲取目錄下所有文件及目錄(多種方法)(推薦)
獲取某目錄下所有子文件和子目錄
function getDirContent($path){ if(!is_dir($path)){ return false; } //readdir方法 /* $dir = opendir($path); $arr = array(); while($content = readdir($dir)){ if($content != '.' && $content != '..'){ $arr[] = $content; } } closedir($dir); */ //scandir方法 $arr = array(); $data = scandir($path); foreach ($data as $value){ if($value != '.' && $value != '..'){ $arr[] = $value; } } return $arr; }
下面介紹的三種方法,是獲取某個(gè)目錄下所有的目錄(包括子目錄,子孫目錄)和文件,直到最里層
方法一
function searchDir($path,&$files){ if(is_dir($path)){ $opendir = opendir($path); while ($file = readdir($opendir)){ if($file != '.' && $file != '..'){ searchDir($path.'/'.$file, $files); } } closedir($opendir); } if(!is_dir($path)){ $files[] = $path; } } //得到目錄名 function getDir($dir){ $files = array(); searchDir($dir, $files); return $files; } $filenames = getDir('lss'); foreach ($filenames as $value){ echo $value.'<br/>'; }
方法二:
function getDir($path){ if(is_dir($path)){ $dir = scandir($path); foreach ($dir as $value){ $sub_path =$path .'/'.$value; if($value == '.' || $value == '..'){ continue; }else if(is_dir($sub_path)){ echo '目錄名:'.$value .'<br/>'; getDir($sub_path); }else{ //.$path 可以省略,直接輸出文件名 echo ' 最底層文件: '.$path. ':'.$value.' <hr/>'; } } } } $path = 'lss'; getDir($path);
方法三:
function getDir($path){ $arr = array(); $arr[] = $path; if(is_file($path)){ }else{ if(is_dir($path)){ $data = scandir($path); if(!empty($data)){ foreach ($data as $value){ if($value != '.' && $value != '..'){ $sub_path = $path."/".$value; $temp = getDirContent($sub_path); $arr = array_merge($temp,$arr); } } } } } return $arr; } $path = 'lss'; var_dump(getDir($path));
以上所述是小編給大家介紹的php獲取目錄下所有文件及目錄多種方法詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
PHP多線程批量采集下載美女圖片的實(shí)現(xiàn)代碼(續(xù))
之前寫過一篇《PHP批量采集下載美女圖片》文中主要采用file_get_content做采集圖片,今天發(fā)現(xiàn)采集了400張圖片 居然需要70分鐘以上,真是難以忍受2013-06-06關(guān)于DISCUZ不用通行證登陸得內(nèi)容介紹
DISCUZ是中國最常用的論壇,雖然他本身有通行證給大家連接,但實(shí)際上用戶的統(tǒng)一還是很不好,經(jīng)常要建立兩個(gè)用戶表,第一不利于注冊(cè)和管理,第二浪費(fèi)數(shù)據(jù)庫。2008-10-10動(dòng)態(tài)表單驗(yàn)證的操作方法和TP框架里面的ajax表單驗(yàn)證
這篇文章主要介紹了動(dòng)態(tài)表單驗(yàn)證的操作方法和TP框架里面的ajax表單驗(yàn)證問題,需要的朋友可以參考下2017-07-07Thinkphp調(diào)用Image類生成縮略圖的方法
這篇文章主要介紹了Thinkphp調(diào)用Image類生成縮略圖的方法,實(shí)例分析了Thinkphp調(diào)用Image類生成縮略圖的使用原理與相關(guān)技巧,需要的朋友可以參考下2015-03-03Yii2框架數(shù)據(jù)驗(yàn)證操作實(shí)例詳解
這篇文章主要介紹了Yii2框架數(shù)據(jù)驗(yàn)證操作,結(jié)合實(shí)例形式詳細(xì)分析了Yii框架常見數(shù)據(jù)驗(yàn)證操作的原理、實(shí)現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下2018-05-05thinkPHP簡(jiǎn)單導(dǎo)入和使用阿里云OSSsdk的方法
這篇文章主要介紹了thinkPHP簡(jiǎn)單導(dǎo)入和使用阿里云OSSsdk的方法,簡(jiǎn)單說明了阿里云OSS的php sdk下載地址及thinkPHP導(dǎo)入與使用OSSsdk的方法,需要的朋友可以參考下2017-03-03