在php中获取最新文件尾随号

问题描述 投票:0回答:2

我的目录中有这样的东西:

slider-1.jpg
slider-2.png
slider-4.gif
slider-8.png
slider-11.gif

现在有没有办法获取“滑块”图像的最后一个尾随数量? 我需要得到这个,所以下一个上传的图像应该命名为 slider-12.xxx

我尝试了每个循环,但它显然让我将 slider-3 作为下一个名称,这在我的情况下是错误的:)

好的,这就是我的做法

foreach ($files as $filename) {
    $filesarr[]= $filename;
    $namearr = explode('.', $filename); //I had to grab this piece as well during the project, so this is main reason not usin Louis proposal.... i needed that array for something else...
    $numbers = explode('-', $namearr[1]);
    $compare[]=$numbers[2];   

}
sort($compare, SORT_NUMERIC); 
$assigned_number = end($compare) + 1;
php file-upload upload image-uploading
2个回答
4
投票

你可以尝试这样的事情:

$max = 0;
foreach($files AS $file) {
    $max = max($max, filter_var($file, FILTER_SANITIZE_NUMBER_INT));
}
$max++;

或者这个:

natcasesort($files);
$max = filter_var(array_slice($files, -1), FILTER_SANITIZE_NUMBER_INT) + 1;

0
投票

清理数组(以您喜欢的任何方式)以生成整数数组,找到最大值,将最大值加 1。

代码:(演示

var_export(
    1 + max(
        preg_replace('#\D*(\d+).*#', '$1', $files)
    )
);
// 12
© www.soinside.com 2019 - 2024. All rights reserved.