Glob()不返回具有相同创建时间的文件


glob() not returning files with same creation time php

目前我正在使用这个代码来获取目录中的文件,但它只是那些文件不同的创建日期/时间。如果两个文件的时间相同,则只显示其中一个。

    <?php 
$perpage = 6;
$page = (int)$_GET['page'];
if(!($page>0)) $page = 1;
$offset = ($page-1)*$perpage;
$parm=$_GET['dir'];
$extensions = array('3gp', 'mp4', 'png', 'gif', 'bmp');
$files = glob('files/'.$parm.'/*'.'{'.implode(',', $extensions).'}', GLOB_BRACE);
$files = array_combine(array_map("filemtime", $files), $files);
krsort($files);
$total_files = sizeof($files);
$total_pages = ceil($total_files/$perpage);
$files = array_slice($files, $offset, $perpage);
?>

现在请解决这个案子

实际上,glob()函数确实返回符合指定条件的内容!

但是问题的原因是因为array_combine()函数将第一个参数(保存文件时间的数组)作为最终输出数组的"键",并且正如您所知,数组中不能有任何键重复,只有具有相同文件时间的最后一个文件将被添加到最终结果数组中。


知道了这一点,你可能会想到另一种方法来做你想做的事情(因为我不知道你想做什么!)