Originariamente inviato da thitan
..mmh si sono anche iuo perplesso sull'uso di move_uploaded_file invece che del copy, a me ha dato un sacco di problemi, risolti poi appunto col copy()..
Il move_uploaded_file è il metodo corretto, che poi funzioni anche con copy è un altro paio di maniche.
Se non usi move_uploaded_file il file che hai caricato sul web server rimane nella directory temporanea, proprio perchè lo copy e non lo sposti.
Potresti anche fregartene di quello che avviene sul server, anche perchè la cartella temporanea viene periodicamente svuotata, è solo una questione di forma.
Per quanto riguarda la prima domanda,
codice:
$allegato="../circolari/allegato_prova.pdf";
lo puoi togliere, oppure modificare con il giusto percorso prima del move_uploaded_file (io nn avevo pensato al percorso)
codice:
$allegato = '../circolari/'.str_replace(' ', '_', $_FILES['allegato']['name']);
Ti consiglio inoltre di cambiare questo controllo
codice:
if(isset($_FILES['allegato']['tmp_name']) {
}
che testa solo se la variabile è settata, con quello successivo, che verifica che il file abbia un peso:
codice:
if(isset($_FILES['allegato']) && $_FILES['allegato']['size'] ) {
Per quanto riguarda l'errore vero e proprio, sembra che il filename sia vuoto... forse basta il cambio di controllo che ti ho dato, per sicurezza fai un upload di prova e nella tua pagina metti (solo per debug)
print_r($_FILES)
e vedi se le informazioni sono corrette.
ciao