Che senso ha andare alla radice delle directory e poi indietro ancora di due cartelle?
L'errore è chiaro. non esiste il file, quindi stai cercando nella cartella sbagliata...
proverei con
unlink("../../public/".$foto);
o
unlink("/public/".$foto);
o quantomeno capire dove sono locate ste stramaledette foto....