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);
}