<?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就可以了