Ma perché cambi i permessi al file in tmp? Tanto da li devi spostarlo, e se non riesci a spostarlo pe rmotivi di permessi non riuscirai tantomeno a dargli permessi meno restrittivi.

Il file caricato in tmp è di www-data, è inutile dargli altri permessi. Inoltre 777 specie su file caricati dagli utenti non lo si da mai.

il file in tmp riesci a leggerlo? Hai provato invece di utilizzare move_uploaded_file, un semplice copy?