Php 如果每个文件的上次修改日期小于或等于今天的日期,则回显图像

Php 如果每个文件的上次修改日期小于或等于今天的日期,则回显图像,php,datetime,foreach,last-modified,strpos,Php,Datetime,Foreach,Last Modified,Strpos,这将从我的文件夹中获取图像 $dirname = "./uploaded_files/"; $images = scandir($dirname); $ignore = Array(".", ".."); foreach($images as $curimg){ if(!in_array($curimg, $ignore)) { }; 这将获取文件夹中每个文件的上次修改日期 $result = array(); $folder = ('uploaded_files/'); $handle =

这将从我的文件夹中获取图像

$dirname = "./uploaded_files/";
$images = scandir($dirname);
$ignore = Array(".", "..");
foreach($images as $curimg){

if(!in_array($curimg, $ignore)) {
};
这将获取文件夹中每个文件的上次修改日期

$result = array();
$folder = ('uploaded_files/');
$handle = opendir($folder);
foreach (glob("$folder/*") as $team){$sort[]= end(explode('/',$team));}
生成包含当前目录中文件的数组:

while (false !==($file = readdir($handle)))
{
if ( $file != ".." && $file != "." )
{
$file = "uploaded_files/".$file ;
if (!is_dir($file))
$result[] = $file;
}
}
closedir($handle);
这是我的IF和FOR每个语句(这是我的问题)!!!
$lastmoddate=(日期(“Ymd”,filemtime($file));
$todaysdate=(日期(“Ymd”);
foreach($result作为$file){
如果使用date()函数($lastmoddate),则将整数日期转换为人类可读的日期。执行此操作时,您将无法再比较日期(使用的是d m y格式)

最简单的修复方法是将日期格式从“d m y”更改为“Ymd”,以便将其作为数字进行比较


另外,您提到moddate应该小于或等于,但您的代码使用>=,因此您可能需要切换。

嘿,谢谢!我忘了在上面的代码中提到的是,有一个文件列表,而不仅仅是一个,您知道如何使用foreach为我工作吗?这是我到目前为止得到的,但是$lastmoddate只有一个文件值…我似乎无法获取每个文件的实际最后修改日期..有什么想法吗?foreach($result as$file){if($lastmoddate>$todaysdate){if(strpos($file,“+12:00”)!==false){echo“$file.”.date(“h:id/m/Y”,filemtime($file))。“\r\n”。
“;}假设$result是一个文件列表,只需将您的filemtime()放在foreach.foreach($result as$file){if(date(“Ymd”,filemtime($file))>=date(“Ymd”,time()){/*等..*/}代码有点精简,但希望您能理解。
$lastmoddate = (date("Ymd", filemtime($file)));
$todaysdate = (date("Ymd"));

foreach ($result as $file){
if ($lastmoddate <= $todaysdate){
if (strpos($file, "+12:00") !==false){
echo "$file".",".date ("h:i d/m/Y", filemtime($file))."\r\n"."<br/>";

}
}
}