Bonjour,

J'aimerai supprimer dans un dossier "photos", toutes les photos qui ne sont pas présentes dans ma table "tb_annonces_photos".

J'ai cherché un peu comment faire et me voici avec un code qui me supprime toutes les photos de mon dossier sans exception.

le voici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//selection de toutes les entrées dans tb_annonces photos
$dbreq = "SELECT * FROM tb_annonces_photos ORDER BY id";
$dbres = mysql_query($dbreq);
 
$i = 0 ;
while ($dbpart = mysql_fetch_row($dbres)) {
   $tab[$i] = $dbpart[0] ;
   $i++ ;
}
 
//print_r($tab);
 
 
$chemin = '.\photos\.';
 
$handle = opendir($chemin);
 
while (false !== ($file = readdir($handle))) {
	if ($file != "." && $file != "..") {
		if (!(in_array($file,$tab))) { /* si fichier dans repertoire mais absent de la base : on l'efface */
			echo "$file\n";
			//unlink($chemin.'/'.$file) ;
		}
	}
}
closedir($handle);

Voyez-vous ce qui cloche ?