0

ディレクトリに次のようなものがあります。

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

「スライダー」画像の最後の末尾の番号を取得する方法はありますか? これを取得する必要があるため、次にアップロードする画像の名前はslider-12.xxxにする必要があります

私はループごとに試しましたが、明らかに、私の場合はfalseである次の名前として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;
4

1 に答える 1

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;
于 2012-12-20T09:04:13.120 に答える