我使用下面的代码将目录中的所有文件回显到页面上。被回放的文件的顺序是随机的,即,
档案3
档案1
档案2
而不是
档案1
档案2
档案3
我如何使它,使文件回显是基于什么时候创建或上传。最近的文件将出现在列表的顶部,最老的文件将出现在列表的底部。
if ($handle = opendir('.')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != ".." && !in_array($entry, $blacklist)) {
echo "<p>$entry\n</p>";
}
}
closedir($handle);
}发布于 2015-01-23 19:02:16
这应该适用于你:
(在这里,我使用glob()从目录中获取所有文件,然后使用用户定义的函数usort()对其进行排序,并将上次修改的次数与filemtime()进行比较)
<?php
function cmp($a, $b) {
if (filemtime($a) == filemtime($b))
return 0;
return (filemtime($a) < filemtime($b)) ? -1 : 1;
}
$files = glob("*.*");
usort($files, "cmp");
foreach($files as $file)
echo $file . "<br />";
?>发布于 2015-01-23 19:03:26
看看PHP4 4+的文件时。在这里您需要做两件事:
发布于 2015-01-23 19:05:28
下一次尝试在堆栈溢出上搜索类似于您的问题:)
$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 "$file$lastModified"; } }未测试
https://stackoverflow.com/questions/28116835
复制相似问题