/**
* 獲取目錄下的文件
* @param $dir
* @param array|string $isext(*=all)
* @return array
*/
function getFileList($dir,$isext=array('jpg','jpeg','png','gif','bmp','webp')){
$dir .= substr($dir, -1) == '/' ? '' : '/';
$fileInfo = array();
foreach (glob($dir.'*') as $v) {
if(is_dir($v)){
$fileInfo = array_merge($fileInfo,getFileList($v,$isext));
}else{
$files['file'] = iconv('gbk','utf-8',$v);//獲取文件名稱
// $files['size'] = round((filesize($v)/1024),2);//獲取文件大小
$files['time'] = date("Y-m-d H:i:s",filemtime($v));//獲取文件最近修改日期
$ext = pathinfo($v,PATHINFO_EXTENSION);
if (is_array($isext) && in_array($ext,$isext)){
$fileInfo[] = $files;
}elseif ($isext == '*'){
$fileInfo[] = $files;
}
}
}
return $fileInfo;
}
/**
* 文件排序(整理)
* @param $dir
* @param array $arr
* @param int $sort
* @param array|string $isext
* @return array
*/
function getArrangeFile($dir,$arr=array(),$sort=SORT_DESC,$isext=array()){
if (empty($dir) && empty($arr)){return array();}
$arr = !empty($arr) ? $arr : (empty($isext) ? getFileList($dir) : getFileList($dir,$isext)) ;
foreach($arr as $k=>$v){
// $file[$k] = $v['file'];
// $size[$k] = $v['size'];
$time[$k] = $v['time'];
}
if (!empty($arr)){
array_multisort($time,$sort,SORT_STRING, $arr);//按時間排序
//array_multisort($file,$sort,SORT_STRING, $arr);//按名字排序
//array_multisort($size,$sort,SORT_NUMERIC, $arr);//按大小排序
}
return $arr;
}