Salve ragazzi avrei bisogno di cancellare files in una folder contenenti nel nome una specifica 'parte del nome'.
Eg . nome del file > 123456789-45-prodotto.jpg.
il 45 e' un id effettivamente, ma nella cartella ci sono files con altri id ovviamente con il basename strutturato allo stesso modo. ho questo codice:
allora, prodotto e articolo sono i due file appena aggiornati che sono presenti nel database per cui effettuato l'upload l'array leave_files mi conserverà i files appena caricati e cancellerà tutti gli altri.
Questo codice cancella tutti i file in cartella tranne prodotto1 e articolo1 ma io avrei bisogno di cancellare solo quelli con id 45 contenuto nel nome.
Quindi probabilmente si dovrebbe cercare nel basename di ogni file la sottostringa -id(45)- ed eliminarli ma non sono riuscito a farlo visto che non sono molto bravo con php.
Qualche idea?
Grazie
Eg . nome del file > 123456789-45-prodotto.jpg.
il 45 e' un id effettivamente, ma nella cartella ci sono files con altri id ovviamente con il basename strutturato allo stesso modo. ho questo codice:
Codice:
<?php
$leave_files = array($prodotto1,$articolo1);
foreach( glob("files/$id/*") as $file2 ) {
if( !in_array(basename($file2), $leave_files) )
unlink($file2);}
?>
allora, prodotto e articolo sono i due file appena aggiornati che sono presenti nel database per cui effettuato l'upload l'array leave_files mi conserverà i files appena caricati e cancellerà tutti gli altri.
Questo codice cancella tutti i file in cartella tranne prodotto1 e articolo1 ma io avrei bisogno di cancellare solo quelli con id 45 contenuto nel nome.
Quindi probabilmente si dovrebbe cercare nel basename di ogni file la sottostringa -id(45)- ed eliminarli ma non sono riuscito a farlo visto che non sono molto bravo con php.
Qualche idea?
Grazie