声明:可以找出目录(和子目录)下的图片,但不支持中文名称的图片
define('FILEDIR',"./img"); //图片存储在img路径下
error_reporting(0);
$totalNumber = $_POST['totalNumber'] ? $_POST['totalNumber'] : 15;
// 找出当前目录下的图片
// dir_size(FILEDIR,$totalNumber);
// 找出目录(包含子目录)下的图片
checkdir(FILEDIR,$totalNumber);
/************按时间顺序输出文件夹中的文件******************/
function dir_size($dir,$totalNumber) {
$dh = @opendir($dir); // 打开目录,返回一个目录流
$return = array();
$i = 0;
while ( $file = @readdir($dh) ) {
// 循环读取目录下的文件
if ($file != '.' && $file != '..') {
$path = $dir.'/'.$file; // 设置目录,用于含有子目录的情况
if ( is_dir($path) ) {}
else if ( is_file($path) ) {
$filetime[] = date("Y-m-d H:i:s", filemtime($path) ); // 获取文件最近修改日期
$return[] = $dir.'/'.$file;
}
}
}
// 关闭目录流
@closedir ( $dh );
//按时间排序
array_multisort($filetime,SORT_DESC,SORT_STRING, $return);
//返回JSON格式给前端
echo json_encode(array_slice($return,0,$totalNumber));
exit;
}
//递归得到文件
function checkdir($dir,$totalNumber) {
$return = array();
// 打开目录,返回一个目录流
$dh = @opendir( $dir );
while ($file = @readdir($dh)) {
// 循环读取目录下的文件
if ($file != '.' && $file != '..') {
// 设置目录,用于含有子目录的情况
$path = $dir . '/' . $file;
if ( is_file($path) ) {
$path = iconv('UTF-8','GB2312',$path);
if( file_exists($path) )
{
// 获取文件最近修改日期
$filetime[] = date("Y-m-d H:i:s", filemtime($path) );
$return[] = $path;
}
}
else if ( is_dir($path) ) {
checkdir( $path, $totalNumber );
}
}
}
// 关闭目录流
@closedir ( $dh );
//按时间排序
array_multisort($filetime,SORT_DESC,SORT_STRING, $return);
//返回JSON格式给前端
echo json_encode(array_slice($return,0,$totalNumber));
exit;
}