come puoi vedere dalla documentazione:
http://php.net/manual/en/features.fi...ost-method.php
http://php.net/manual/en/function.basename.php
in "tmp_name" hai la path temporanea in cui è stato salvato il file che hai caricato. ad esempio /tmp/phpn3FmFr . Se lo passi a "basename", quello ti toglie la path ( /tmp ) e ti lascia solo il nome. Quindi, non funzionerà mai a meno che il file non sia nella stessa directory dello script. Quindi, non usare basename