在oschina中发现了用PHP读取文件夹目录里的文件,并按照日期,大小,名称排序的方法,这个正是我需要用到的,就发上来给大家学习一下。
function dir_size($dir,$url){
$dh = @opendir($dir); //打开目录,返回一个目录流
$return = array();
$i = 0;
while($file = @readdir($dh)){ //循环读取目录下的文件
if($file!='.' and $file!='..'){
$path = $dir.'/'.$file; //设置目录,用于含有子目录的情况
if(is_dir($path)){
}elseif(is_file($path)){
$filesize[] = round((filesize($path)/1024),2);//获取文件大小
$filename[] = $path;//获取文件名称
$filetime[] = date("Y-m-d H:i:s",filemtime($path));//获取文件最近修改日期
$return[] = $url.'/'.$file;
}
}
}
@closedir($dh); //关闭目录流
array_multisort($filesize,SORT_DESC,SORT_NUMERIC, $return);//按大小排序
//array_multisort($filename,SORT_DESC,SORT_STRING, $files);//按名字排序
//array_multisort($filetime,SORT_DESC,SORT_STRING, $files);//按时间排序
return $return; //返回文件
}
$dh = @opendir($dir); //打开目录,返回一个目录流
$return = array();
$i = 0;
while($file = @readdir($dh)){ //循环读取目录下的文件
if($file!='.' and $file!='..'){
$path = $dir.'/'.$file; //设置目录,用于含有子目录的情况
if(is_dir($path)){
}elseif(is_file($path)){
$filesize[] = round((filesize($path)/1024),2);//获取文件大小
$filename[] = $path;//获取文件名称
$filetime[] = date("Y-m-d H:i:s",filemtime($path));//获取文件最近修改日期
$return[] = $url.'/'.$file;
}
}
}
@closedir($dh); //关闭目录流
array_multisort($filesize,SORT_DESC,SORT_NUMERIC, $return);//按大小排序
//array_multisort($filename,SORT_DESC,SORT_STRING, $files);//按名字排序
//array_multisort($filetime,SORT_DESC,SORT_STRING, $files);//按时间排序
return $return; //返回文件
}