Salve a tutti ragazzi..
Mi servirebbe un codice che sia più veloce di quello che utilizzo.
Tale codice dovrebbe stampare a video il nome del file .jpg più recente e cancellare tutti gli altri nella stessa cartella. Inoltre so che in quella cartella ci saranno solo file .jpg, quindi si può omettere il codice che verifica l'estensione dei file etc.. I file hanno un nome simile a questo :
00B8000031DA(002bdrr)_0_20110618033625_19488.jpg
dove : 00B8000031DA(002bdrr) : nome fisso
_0_ : numero sequenziale :
20110618033625 _: Data
19488 : Altro numero sequenziale.
Quindi immagino che si potrebbe usare anche un ordinamento per nome al posto della verifica della data.
Dipende da quale sia più veloce. Infine mi servirebbe che quando si esegue la funzione unlink per la cancellazione del file non venga stampato a video il numero 1 che significa cancellato con successo.
Il codice che utilizzo io ora, ma che è piuttosto lento è :
codice:
<?php
$dir= '../snap1/';
$imgs = array();
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if (!is_dir($file) && preg_match("/\.(bmp|jpe?g|gif|png)$/", $file)) {
array_push($imgs, $file);
}
}
closedir($dh);
}
else {
die('cannot open ' . $dir);
}
$ind='http://www.indirizzo.it/snap1/';
$class="";
foreach ($imgs as $idx=>$img) {
$class = ($idx == count($imgs) - 1 ? $img : unlink($dir.$img));
}
echo $class;
?>
Vi ringrazio anticipatamente.