Curiosità...cn che variabile richiami il file passato per l'upload?
move_uploaded_file($_FILES['avatar']['tmp_name'],$nome_file )

cmq grazie a tutti..ho risolto utilizzando appunto la cartella public..pensavo potessi impostare io i permessi di lettura scrittura..invece credo proprio ke sarò obbligato ad usare sempre la cartella public per uplodare!
Ciao A presto!