PHP获取文件夹内的图片,并按图片更新时间降序排列
很简单,直接上代码:
$imgInputId = func::get('imgInputId'); //返回值的图片框id
$selectImg = func::get('selectImg'); //已选择的图片名称,带后缀
$path = '/usr/local/images/';
$dir = @ opendir($path);
$fileFormat = array(0 => ".jpg", 1 => ".gif", 2 => ".png", 3 => ".bmp");
while (($file = readdir($dir)) !== false) {
$file_times = filemtime($path.$file) == false ? (filectime($path.$file) == false ? '' : filectime($path.$file)) : filemtime($path.$file);
if (in_array(substr($file, strpos($file, ".")), $fileFormat) && !empty($file_times)) {
$ImgArr[$file] = $file_times;
}
}
//按文件修改时间排序
arsort($ImgArr);
//列出 images 目录中的文件
echo "<table width=630 border=0 cellspacing=0 cellpadding=5><tr>";
$file_num = 0;
if(!empty($ImgArr) && count($ImgArr)>0){
foreach($ImgArr as $file =>$v ){
$file_num++;
echo '<td align=center ';
if($file == $selectImg)
echo 'style="border:2px solid #2D4891"';
echo '><a href="###" onclick="javascript:parent.document.getElementById(\''.$imgInputId.'\').value=\'' . $file . '\';" title="' . $file . '"><img src="' . $path2 . $file . '" width="50" height="50"></a><br />' . $file . '</td>';
if ($file_num % 5 == 0) {
echo "</tr>";
}
}
}
echo "</tr></table>";
closedir($dir);
附:文件属性函数
1> filemtime ( string filename )
返回文件上次被修改的时间,出错时返回 FALSE。时间以 Unix 时间戳的方式返回,可用于 date()。
例如:$a=filemtime("log.txt");
echo "修改时间:".date("Y-m-d H:i:s",$a);
2> filectime ( string filename )
返回文件上次 inode 被修改的时间,如果出错则返回 FALSE。时间以 Unix 时间戳的方式返回。
例如:$a=filectime("log.txt");
echo "创建时间:".date("Y-m-d H:i:s",$a);
3> fileatime ( string filename )
返回文件上次被访问的时间,如果出错则返回 FALSE。时间以 Unix 时间戳的方式返回。
例如:$a=fileatime("log.txt");
echo "修改时间:".date("Y-m-d H:i:s",$a);
4> filesize( string filename )
函数返回指定文件的大小。若成功,则返回文件大小的字节数。若失败,则返回 false 并生成一条 E_WARNING 级的错误。
例如:echo "文件大小" .filesize("test.txt");
相关推荐
<?php. if (!empty($_POST)) {. $data1 = $_POST["data1"];$data2 = $_POST["data2"];$fuhao = $_POST["fuh