0

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

$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 AND FOR EACH 语句(这是我的问题)!!!

$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/>";

}
}
}

我要做的是'如果文件名包含 +12:00 并且每个文件的 lastmodified 日期小于或等于今天的日期,则回显图像!但它不起作用。

谁能帮我弄清楚如何重新写我的陈述!?

我刚开始学习 PHP 谁能帮忙!?

谢谢

4

1 回答 1

0

通过使用 date() 函数,您可以将整数日期转换为人类可读的日期。在这样做时,您将无法再比较日期(以您正在使用的 dmy 格式)。

最简单的解决方法是将日期格式从“dm y”更改为“Ymd”,以便可以将其作为数字进行比较。

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

于 2011-11-06T04:31:36.897 回答