Arossè...
Nel primo caso devi prima vedere se una variabile è definita, e poi fargli un altro tipo di controllo:
Codice PHP:
if (isset($foto) && $foto != "nd.jpg"){
unlink("../img/accessori/$foto");
unlink("../img/accessori/backup/$foto");
}
Se la variabile non fosse definita, con un error_level tipo E_ALL avresti l'errore "Undefined variable foto in __FILE__ on line __LINE__..."
Nel secondo caso non ottieni esattamente quello che vuoi tu, perché una variabile può essere anche definita ma vuota, quindi devi controllare entrambe le condizioni:
Codice PHP:
if (isset($pdf) && !empty($pdf)) {
unlink("../pdf/$pdf");
}