Originariamente inviato da Ruben Elmo
Per fare un esempio:
La directory dove salvare il file è "foto"
io mi trovo nella directory "admin"

dopo l'upload del file dovrei salvare il file in "foto" ma in realtà mi trovo: "admin/foto/file.jpg" nella root
Per il parametro $cartella usi un percorso assoluto o relativo? dov'è la cartella foto?
se usi un percorso relativo e sulla cartella admin hai i permessi di scrittura mi sembra normale che succeda quello che hai descritto