Estoy de acuerdo con DarioDario. Intentar eliminar algo que no existe merece la pena un warning.
Al Zuwaga:
La arroba se utiliza cuando queremos ocultar el reporte de errores. Si una función te genera un warning, que no te interesa atender (como en tu caso), puedes simplemente decirle al PHP "si esta función genera warning, no lo muestres".
@unlink($archivo_inexistente)
También podrías decirle al PHP "No quiero que se muestre ningún warning en ninguna parte del script". Eso lo seteas al principio mediante la función
error_reporting().
error_reporting(~E_WARNING);
De todas maneras, en la mayoría de los casos es preferible no ocultar los errores (al menos en tiempo de desarrollo). Lo mejor es tratar de controlarlos, como ya te pusieron.
Código PHP:
if(file_exist($archivo)){
if(unlink($archivo)){
// se eliminó el archivo
}else{
// No se pudo eliminar
}
}else{
// El archivo no existe
}