Simplemente seleccione todas las imágenes que no deben eliminarse de la base de datos y revise todos los archivos.
$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
}
}