php獲取指定文件夾下所有文件的文件名

<?php 
function searchDir($path,&$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;
 }
?>

該方法執行後會返回一個文件名數組,遍歷輸出即可:

$list=getDir('image');
 for($i=0;$i<count($list);$i++)
 {
 echo $list[$i];
 echo '<br/>';
 }

輸出結果:


從途中可以看出得到的文件名包含我們指定的路徑,如果只獲取文件名,只需要在getDir($dir)用for循環處理一下就可以,
把下面這串代碼加在return之前就可以:

for($i=0;$i<count($data);$i++)
 {
 $data[$i]=substr($data[$i],strlen($dir)+1);
 
 }

此外如果你的文件名是中文,顯示出來是亂碼的話,把編碼方式改成gb2312就可以了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章