Bueno, es mala practica usar @ para ocultar errores.
La pregunta es, el if de file_exists se ejecuta? si es así prueba
Que puede ser el error
Si no es así debes de verificar las rutas del archivo que puede ser la otra causa de fallos. Así mismo el código del unlink debe de quedar como te lo mostré.
PD: Además debes de quitar el return true; después del unlink
Edito: @
Alexis88 respondiste sin ver el código? jejeje finalizando el código esta unlink
Saludos