php获取文件夹下所有文件名

function get_all_files($path)
{

$list = array();
foreach( glob($path.'/*') as $item )
{
if( is_dir($item ) )
{

$list = array_merge( $list , get_all_files( $item ) );
}
else
{

$list[] = $item;
}
}

return $list;
}
$path="D:/WWW";
fwrite(fopen("0.php","a"),print_r(get_all_files($path),true));

这是我的代码,我发现他只获取的第一层目录下的文件,而没有获取改目录下所有的文件夹以及文件,请问如果解决

function dir_file_handle($dir,$dir_handle,$file_handle,&$array=NULL) {
$array = array();
function circle($dir,$dir_handle,$file_handle,&$array){
$handle=opendir($dir);
while(($file=readdir($handle))!==false){
if($file!="." && $file!=".."){
if(is_dir("$dir/$file")){
//文件夹操作
eval($dir_handle);
circle("$dir/$file",$dir_handle,$file_handle,&$array);
}else{
//文件操作
eval($file_handle);
}
}
}
}
@circle($dir,$dir_handle,$file_handle,$array);
}
function list_dir_file($array) {
$indent = 0;
static $preindent = 0;
while (list($key,$value) = each($array)) {
$indent = count(explode('/', $key));
if ($indent == 1) {
$indent = $preindent;
}else {
$preindent = $indent;
}
$dirname = substr(strrchr($key, '/'), 1);
if (is_array($value)) {
echo str_repeat("  ", $indent)."|-$dirname<br>";
list_dir_file($value);
}else {
echo str_repeat("  ", $indent*2)."$value<br>";
}
}
}

dir_file_handle(
'./01',
'
if(is_null($array["$dir"])) {
$array["$dir"] = array();
}
if(is_null($array["$dir/$file"])) {
$array["$dir/$file"] = array();
}
',
'array_push($array["$dir"],$file);',
$array
);
list_dir_file($array);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-13
scanfile 和迭代

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网