Codice PHP:
<?php
$files = array("file1.txt","file6.txt","file4.txt","file3.txt"); // array di esempio
function primoMancante($array) {
usort($array,"strnatcmp");
$numeri = array();
foreach($array as $file) {
$numero = preg_replace("/[^\\d]/",'',$file);
$numeri[] = $numero;
}
$maggiore = array_pop($numeri);
$mancanti = array_diff(range(1,$maggiore),$numeri);
$primo_mancante = array_slice($mancanti,0,1);
return $primo_mancante[0];
}
$numero_mancante = primoMancante($files);
echo $numero_mancante; // restituisce 2. Nel caso non ci siano numeri mancanti restituisce il maggiore
?>
per avere direttamente il nome del file basta che sostituisci l'ultima riga della funzione
return $primo_mancante[0];
con questa
return 'file'.$primo_mancante[0].'.txt';