Quando hai una form con un campo per selezionare un file, e premi INVIA, il file viene fisicamente trasferito in una cartella del server, la TEMP appunto. Lì il file ha un nome temporaneo definitito dal server stesso.

Se il passaggio FORM -> Cartella Temporanea è andato a buon fine, $_FILES['file']['error'] torna 0. Questo significa che il trasferimento al server è stato effettuato con successo.
Per un ulteriore controllo c'è anche la funzione is_uploaded_file() di cui ti ho riportato il link al manuale ufficiale nel precedente post.

Dalla temporanea, però, il file deve andare nella cartella da te definita. Per fare questo, la cartella dove vai a spostare il file deve avere i permessi di scrittura.
Qui sta il punto.

La cartella il cui percorso è scritto nella variabile $des ha questi permessi?