列出X日期的所有文件

时间:2013-01-13 12:54:37

标签: php

我正在尝试制作一个脚本,列出在$ _GET请求中给出的日期创建(或修改)的目录中的所有文件。

我有一个脚本列出了所有文件和日期,但是如何我能够“订购”它们以便我可以使用我的$ _GET请求。知道我这很简单,这就是我已经拥有的东西:

<?php putenv("TZ=Europe/London");
if ($handle = opendir('./Images/')) {
    while (false !== ($entry = readdir($handle))) {
        if ($entry != "." && $entry != "..") {
           echo "$entry : " . date ("d/m/y", filemtime($entry))."<br />";
        }
    }
closedir($handle);
}

2 个答案:

答案 0 :(得分:1)

这将在当前目录中查找文件时时抛出一个stat错误。

请注意,filetime函数包含目录(filemtime($ dir。$ entry)

试试这个

$dir = './Images'; // use a variable so you can easily use this again

if ($handle = opendir($dir)) {
while (false !== ($entry = readdir($handle))) {
    if ($entry != "." && $entry != "..") {
       if(filemtime($dir.$entry) == $_GET['date']) // set date paramter in the format of d/m/y
          echo "$entry : " . date ("d/m/y", filemtime($dir.$entry))."<br />"; // notice './Images'
    }
}
closedir($handle);
}

答案 1 :(得分:0)

以下是此页面中的完整 PHP LIST FILES脚本 -

http://stackoverflow.com/questions/3062154/php-list-of-specific-files-in-a-directory/15678731#15678731

但是,在第135行,而不是

echo $line;

使用此 (将日期更改为您想要的日期)

if ( $new_array[$i][2] > strtotime('2013-03-19 17:14:40') ) {
echo $line;
}