c'e' poco da catturare, se il file esiste e l' unlink fallisce, o la cartella non ha CHMOD 777 oppure qualcun altro sta' utilizzando, scaricando, visionando quel file ...


quindi

if( file_exists( $file ) == true ) {
if( @unlink( $file ) ) {
// ok
}
else {
// file utilizzato da altri o chmod non settata a 777
}
}