Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按升序具有较小值的php uniqid_Php - Fatal编程技术网

按升序具有较小值的php uniqid

按升序具有较小值的php uniqid,php,Php,在名为images的文件夹中,我有如下图像: 5ac7d5f6b23d3.jpg 名称使用phpuniqid函数给出,文件夹images按名称升序排序 现在我正在创造一个新的形象 是否有一种方法-使用uniqid或任何其他函数-来指定新图像的名称-因此它是按升序排列的第一个 所以使用 $array = glob('images/*.jpg'); print_r($array); 新映像应该是数组中的第一个可以用来扫描目录中的所有文件并读取每个文件的mtime(修改时间)。将它们作为密钥存

在名为
images
的文件夹中,我有如下图像:

5ac7d5f6b23d3.jpg  
名称使用php
uniqid
函数给出,文件夹
images
按名称升序排序

现在我正在创造一个新的形象

是否有一种方法-
使用uniqid或任何其他函数
-来指定新图像的名称-因此它是按升序排列的第一个

所以使用

$array = glob('images/*.jpg');
print_r($array);
新映像应该是数组中的第一个

可以用来扫描目录中的所有文件并读取每个文件的mtime(修改时间)。将它们作为密钥存储到数组中,我们可以对密钥进行降序排序以获得最新的文件

$latestFilename = reset($mtimes);
这将找到任何文件,因为这里没有使用glob模式。如果需要模式,还可以使用重写

现在,让我们扫描目录中的所有文件,并忽略其他目录

$mtimes = [];
foreach (new DirectoryIterator('./images') as $fileInfo) {
    if($fileInfo->isDir()) continue;
    $mtimes[$fileInfo->getMTime()] = $fileInfo->getFilename();
}
按键对数组进行反向排序(降序)

抓取第一个元素,它是最新的文件

$latestFilename = reset($mtimes);

在图像文件名前面加一个排序前缀,例如
00000001\uu
00000002\u
等。
uniqid
函数支持前缀参数。您可以按mtime(修改时间)排序使用@MarkusZeller-你的意思是-首先按修改时间降序排列文件夹
图像
,然后转到
glob…
No,根本不使用glob。当您拥有所有的值并按mtime降序排列时,您已经拥有了最新的文件,这是第一个条目。迭代器扩展了SplFileInfo,它为您提供了任何文件的详细信息。您能写一个例子吗,请-我需要按日期下降排序的文件数组,文件数组在哪里?
$mtimes
包含所有文件。您可以使用
foreach($mtimes as$mtime=>$filename)echo“$filename上次修改时间为$mtime\n”遍历所有文件