目前我正在使用这个代码来获取目录中的文件,但它只是那些文件不同的创建日期/时间。如果两个文件的时间相同,则只显示其中一个。
<?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()
函数将第一个参数(保存文件时间的数组)作为最终输出数组的"键",并且正如您所知,数组中不能有任何键重复,只有具有相同文件时间的最后一个文件将被添加到最终结果数组中。
知道了这一点,你可能会想到另一种方法来做你想做的事情(因为我不知道你想做什么!)