按日期在PHP中对文件进行排序我现在有一个index.php文件,它允许我输出同一个目录中的文件列表,输出显示名称,然后我使用filemtime()函数来显示文件修改时的日期。我现在的问题是,如何对输出进行排序以显示最新修改的文件?如果我是用MySQL交互来做这件事的话,那就没有问题了。请给我一个例子,如何排序和输出从最近修改的文件列表。这就是我现在所拥有的if ($handle = opendir('.')) {while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$lastModified = date('F d Y, H:i:s',filemtime($file));
if(strlen($file)-strpos($file,".swf")== 4){
echo "<tr><td><input type=\"checkbox\" name=\"box[]\"></td><td><a href=\"$file\" target=\"_blank\">$file</a>
</td><td>$lastModified</td></tr>";
}
}
}
closedir($handle);}
3 回答
守着星空守着你
TA贡献1799条经验 获得超8个赞
$files = array();if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$files[filemtime($file)] = $file;
}
}
closedir($handle);
// sort
ksort($files);
// find the last modification
$reallyLastModified = end($files);
foreach($files as $file) {
$lastModified = date('F d Y, H:i:s',filemtime($file));
if(strlen($file)-strpos($file,".swf")== 4){
if ($file == $reallyLastModified) {
// do stuff for the real last modified file
}
echo "<tr><td><input type=\"checkbox\" name=\"box[]\"></td><td><a href=\"$file\" target=\"_blank\">$file</a>
</td><td>$lastModified</td></tr>";
}
}}
萧十郎
TA贡献1815条经验 获得超13个赞
$files = glob('path/to/files/*.swf');usort($files, function($a, $b) {
return filemtime($a) < filemtime($b);});usort($files, create_function('$a,$b', 'return filemtime($a)<filemtime($b);'));usort
foreach($files as $file){
printf('<tr><td><input type="checkbox" name="box[]"></td>
<td><a href="%1$s" target="_blank">%1$s</a></td>
<td>%2$s</td></tr>',
$file, // or basename($file) for just the filename w\out path
date('F d Y, H:i:s', filemtime($file)));}filemtime
互换的青春
TA贡献1797条经验 获得超6个赞
$output = array();foreach( new RecursiveIteratorIterator(
new RecursiveDirectoryIterator( 'path', FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS ) ) as $value ) {
if ( $value->isFile() ) {
$output[] = array( $value->getMTime(), $value->getRealPath() );
}}usort ( $output, function( $a, $b ) {
return $a[0] > $b[0];});- 3 回答
- 0 关注
- 674 浏览
添加回答
举报
0/150
提交
取消
