Ciao a tutti, ho dovuto svuotare un pò lo spazio sul server cancellando molte immagini che non utilizzavo più... ma non tutte le immagini, solo alcune.
Le immagini in questione erano nella cartella "upload" ed il percorso era salvato all'interno del mio DB..
Mentre cancellavo i record nel DB e le relative foto all'interno della cartella dimenticavo che per ogni immagine caricata andavo a creare nella cartella "thumb" la miniatura delle stessa, nominandola:
Ora.. avendo perso $photo->id, poichè le ho già eliminate dal DB come faccio a cancellare solo quelle che iniziano con $registrato->id?
Ho provato una soluzione di questo tipo:
Ma sembra che non esegua nulla... non vedo neanche il valore di $k che vorrei vedere alla fine dello script!!
Qualcuno ha un'altra strada da suggerirmi?
Le immagini in questione erano nella cartella "upload" ed il percorso era salvato all'interno del mio DB..
Mentre cancellavo i record nel DB e le relative foto all'interno della cartella dimenticavo che per ogni immagine caricata andavo a creare nella cartella "thumb" la miniatura delle stessa, nominandola:
PHP:
$new_name=$registrato->id.'_'.$photo->id.'.jpg';
Ora.. avendo perso $photo->id, poichè le ho già eliminate dal DB come faccio a cancellare solo quelle che iniziano con $registrato->id?
Ho provato una soluzione di questo tipo:
PHP:
$query="select * from registrati where foto=0";
$result = mysql_query($query, $conn);
while ($reg= mysql_fetch_object($result)) {
$id[$k]=$reg->id;
$k++;
}
$directory=opendir("thumb");//apro la directory
while(false!==($file=readdir($directory))){
if($file!="." && $file!="..") {//elimino il punto ed i doppi punti
if(is_file("thumb/".$file)) {
for ($i=0;$i<$k;$i++) {
if (ereg ($id[$i]."_([0-9]*).jpg", $file)) {
unlink("thumb/".$file);
}
}
}
}
}
closedir($directory);
echo $k;
Ma sembra che non esegua nulla... non vedo neanche il valore di $k che vorrei vedere alla fine dello script!!
Qualcuno ha un'altra strada da suggerirmi?