Ho scritto al volo questo codice, non l'ho provato, quindi potrebbe esserci qualche errore.
Questo controlla la stessa cartella in cui si trova il file php, puoi decidere tu quale cartella fargli controllare modificando la variabile $dir e passando il giusto percorso e nome file alla funzione is_file
Codice PHP:
<?php
$immagini = array();
$dir = ".";
$files = scandir($dir); //leggo il contenuto della cartella corrente
foreach($files as $file) { //per ogni elemento trovato
if(is_file($file)) { //se è un file
$immagini[] = $file; //lo aggiungo in un array che conterrà solo file
}
}
foreach($immagini as $img) { //per ogni file nell'array
$query = "SELECT * FROM tabella WHERE immagine = $img"; //cerco nel db una entry con tale file
$result = mysql_query($query); //effettuo la query
if(mysql_num_rows($result) == 0) { //se non trovo niente
unset($img); //cancello il file
}
}
?>