首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据上次修改php的日期回显目录中的所有文件

如何根据上次修改php的日期回显目录中的所有文件
EN

Stack Overflow用户
提问于 2015-01-23 18:56:47
回答 3查看 379关注 0票数 1

我使用下面的代码将目录中的所有文件回显到页面上。被回放的文件的顺序是随机的,即,

档案3

档案1

档案2

而不是

档案1

档案2

档案3

我如何使它,使文件回显是基于什么时候创建或上传。最近的文件将出现在列表的顶部,最老的文件将出现在列表的底部。

代码语言:javascript
复制
if ($handle = opendir('.')) {

    while (false !== ($entry = readdir($handle))) {

        if ($entry != "." && $entry != ".." && !in_array($entry, $blacklist)) {
            echo "<p>$entry\n</p>";
        } 



    }

    closedir($handle);
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-23 19:02:16

这应该适用于你:

(在这里,我使用glob()从目录中获取所有文件,然后使用用户定义的函数usort()对其进行排序,并将上次修改的次数与filemtime()进行比较)

代码语言:javascript
复制
<?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 />";

?>
票数 2
EN

Stack Overflow用户

发布于 2015-01-23 19:03:26

看看PHP4 4+的文件时。在这里您需要做两件事:

  1. 在数组中获取文件的文件时间
  2. 根据文件时间比较对它们进行排序
票数 0
EN

Stack Overflow用户

发布于 2015-01-23 19:05:28

下一次尝试在堆栈溢出上搜索类似于您的问题:)

代码语言:javascript
复制
    $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"; } }

未测试

SOURCE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28116835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档