Sélectionnez simplement toutes les images qui ne doivent pas être supprimées de la base de données et parcourez tous les fichiers.
$result = mysql_query("SELECT filename FROM no_delete");
while($row = mysql_fetch_assoc($result)) {
$do_not_delete[] = $row['filename'];
}
foreach(glob("*") as $filename) {
if (!in_array($filename, $do_not_delete)) {
//delete them
}
}