PDA

View Full Version : [PHP] copia file da PC a server


nic96
09-06-2009, 11:36
Salve,

devo realizzare uno script PHP che mi permetta di fare l'upload di un file dal pc al server utilizzando il type='file' di html ed il metodo post per passare il nome del file.

ho provato con il seguente script:
*****************
$file_name = $_FILES["upfile"]["name"];
echo $_FILES;
if(trim($_FILES["upfile"]["name"]) == "") {
die("Non hai indicato il file da uploadare !");
}
if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
@move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");
} else {
die("Problemi nell'upload del file " . $_FILES["upfile"]["name"]);
}
echo "L'upload del file " . $_FILES["upfile"]["name"] . " e' avvenuto correttamente";
**************************

1) quando selezione il file, ad esempio "D:\nomefile.ext", lo script ($_FILES["upfile"]["name"]) riesce a leggere solo "nomefile.ext"

2) se modifico il nome del file in "D:/nomefile.ext" viene rilevato per intero ma non riesco a copiarlo

3) se lo modifico in "D:\nomefile.ext" dentro lo script stesso non riesco a copiarlo lo stesso

non so piu' che cosa provare!

avete qualche consiglio da darmi?

grazie in anticipo

Saluti
nic96

SerMagnus
09-06-2009, 13:09
hai verificato l'enctype?

nic96
09-06-2009, 13:37
hai verificato l'enctype?

<form method='POST' action='upload2.php' enctype='multipart/form-data' name='form' onSubmit='return controlla_form(this)'>

credo sia questo quello corretto

CaMbA
09-06-2009, 14:26
1) quando selezione il file, ad esempio "D:\nomefile.ext", lo script ($_FILES["upfile"]["name"]) riesce a leggere solo "nomefile.ext"

Ed infatti PHP salva in $_FILES solo il nome del file per questioni di sicurezza (un utente non sarebbe molto disposto a caricare files su un server se saprebbe che questo registra anche le sue cartelle private).
Comunque a me il tuo script sembra corretto, se non ti funziona prova a ricontrollare i permessi sulla cartella di upload...

nic96
10-06-2009, 18:17
funziona

avevate ragione, 777 ed è tutto ok

grazie mille