从最近 24 小时内上传的文件夹中获取文件

Posted

技术标签:

【中文标题】从最近 24 小时内上传的文件夹中获取文件【英文标题】:Getting files from folder which uploaded in last 24 hours 【发布时间】:2014-12-29 06:23:44 【问题描述】:

如何获取过去 24 小时内上传的图片(来自 x 目录)?

例如,/images/文件夹中有100张图片;但其中 10 个已在过去 24 小时内上传。我想通过上传时间从新到旧列出它们..

我怎样才能列出它们?

【问题讨论】:

【参考方案1】:

您可以使用 glob 包装器列出目录 X (php manual glob wrapper) 中的文件。 使用 filemtime 获取文件修改时间。

【讨论】:

【参考方案2】:

filectime(),来自 PHP 文档:

返回文件上次更改的时间,失败时返回 FALSE。时间作为 Unix 时间戳返回。

您可以检查 filectime() 返回的时间戳是否大于前一天的时间戳。

试试这个:

<?php
$path = '/path/to/dir/';
$yesterday = strtotime("-1 day");
if ($handle = opendir($path)) 
    while (false !== ($entry = readdir($handle))) 
        if (filectime($path.$entry) > $yesterday) 
            echo filectime($path.$entry) . ":" . $entry . " "."\n";
        
    
    closedir($handle);

?>

上面的代码将只回显过去一天创建的文件。

【讨论】:

上次更新时间和上次上传/上次创建时间看起来不同;我需要通过上传时间排序.. 我不能使用任何东西而不是 filectime() 或 filemtime() 来按上传时间列出文件吗? @user3283814 我相信这些是您最好的选择。看看这个答案,***.com/a/5849725/2460773 如果它回答了你的问题,请告诉我。 这将递归地完成这项工作:【参考方案3】:

首先,您在数据库中创建一列序列号。那么您必须选择最大序列号为...

 <?php
mysql_connect("localhost","phpuser","phppass");
$db="databasename";
mysql_select_db($db);

$qd=mysql_query("select max(srl_num) from tablename");
$lf=mysql_fetch_row($qd);
$lf1=$lf[0];

$qd=mysql_query("select * from  tablename where srl_num= '$lf1' ");
$qd1=mysql_fetch_row($qd);

$lfn=$qd1[0];

$fn=$qd1[2];
$fn2=$qd1[3];
?>

并随心所欲地回显 $fn 和 fn2

【讨论】:

以上是关于从最近 24 小时内上传的文件夹中获取文件的主要内容,如果未能解决你的问题,请参考以下文章

查找最近24小时内修改的文件

最近 24 小时的日期格式和获取结果表

如何使用 HealthKit 从特定日期准确获取 24 小时的睡眠数据?

如何使用 HealthKit 从特定日期准确获取 24 小时的睡眠数据?

如何获取上传文件的文件路径以创建ReadStream

Java服务器文件上传及获取