php获取目录下的所有文件并按时间排序
php获取目录中的所有文件名
1、先打开要操作的目录,并用一个变量指向它
打开当前目录下的目录pic下的子目录common。
$handler = opendir(’pic/common’);
2、循环的读取目录下的所有文件
其中$filename = readdir($handler)是每次循环的时候将读取的文件名赋值给$filename,为了不陷于死循环,所以还要让$filename !== false。一定要用!==,因为如果某个文件名如果叫’0′,或者某些被系统认为是代表false,用!=就会停止循环
- while( ($filename = readdir($handler)) !== false )
- {
- 3、目录下都会有两个文件,名字为’.'和‘..’,不要对他们进行操作
- if($filename != “.” && $filename != “..”)
- {
- 4、进行处理
- //这里简单的用echo来输出文件名
- echo $filename;
- }
- }
5、关闭目录
closedir($handler);
php获取目录下的所有文件并按文件创建时间进行排序,php按文件创建/修改时间排序
- function getFile($dir=''){
- $num=1; //用来记录目录下的文件个数
- $dirname='../testdir'; //要遍历的目录名字
- $dir_handle=opendir($dirname);
- while($file=readdir($dir_handle)){
- if($file!="."&&$file!=".."&&$file!="index.php"){
- $key = filectime($file)*1000+rand(100,999); //根据文件创建时间生成key
- $files[$key] = $file;
- $num++;
- }
- }
- ksort($files);
- foreach($files as $ky => $val){
- $dirFile=$dirname."/".$val;
- $res .= tabledata($num.'|<a href="'.$val.'" target="_blank">'.$val.'</a>|'.filesize($dirFile).'|'.filetype($dirFile).'|'.date("Y/n/t H:i:s",filemtime($dirFile)));
- }
- return $res;
- closedir($dir_handle);
- }