- Home
- Categorie
- Coding e Sistemistica
- Hosting e Cloud
- provare upload in locale
-
provare upload in locale
Salve a tutti.
Ho un dominio Lunix con Aruba e devo implementare l'UPLOAD delle immagini.
Ho scaricato lo script da Aruba e provato, e funziona perfettamente.
Il problema è questo: Io costruisco il sito in locale utilizzando easyphp. Noto che però lo script non funziona e mi da una caterba di errori. Ora mi e soprattutto Vi chiedo è possibile fare le prove in liocale??
Lo script di aruba funziona in questo modo:
Ha 2 pagine
la prima Prova.php con questo codice:<html>
<head>
<body>
<FORM ENCTYPE="multipart/form-data" ACTION="upload.php" METHOD="post">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1024000">
<INPUT NAME="UploadedFile" TYPE="file">
<INPUT TYPE="submit" VALUE="Invia il file">
</FORM>
</body>
</html>
la seconda pagina Upload.php con questo codice:
HTML>
<HEAD>
<TITLE>Upload in php</TITLE>
</HEAD>
<BODY>
<?
$path="localhost/dinamico"; (nn so se ho configurato correttamente)if( $UploadedFile != none )
{
print("Percorso locale: $UploadedFile <BR>\n");
print("Nome del file: $UploadedFile_name <BR>\n");
print("Dimensione del file: $UploadedFile_size <BR>\n");
print("Tipo di file: $UploadedFile_type <BR>\n");
print("<HR>");
if (copy( $UploadedFile , "$path/$UploadedFile_name" )){
print "$UploadedFile copiato con successo in $path/$UploadFile_name<br>";
}else{
print "Errore.. upload non riuscito<br>";
}
unlink($UploadedFile);
}else{
print "Errore.. nessun file.<br>";
}
?>
</BODY>
</HTML>Gli errori che ho in locale sono questi:
Notice: Undefined variable: UploadedFile in c:\programmi\easyphp1-8\www\dinamico\upload\upload.php on line 11
Notice: Use of undefined constant none - assumed 'none' in c:\programmi\easyphp1-8\www\dinamico\upload\upload.php on line 11
Notice: Undefined variable: UploadedFile in c:\programmi\easyphp1-8\www\dinamico\upload\upload.php on line 13
Percorso locale:
Notice: Undefined variable: UploadedFile_name in c:\programmi\easyphp1-8\www\dinamico\upload\upload.php on line 14
Nome del file:
Notice: Undefined variable: UploadedFile_size in c:\programmi\easyphp1-8\www\dinamico\upload\upload.php on line 15
Dimensione del file:
Notice: Undefined variable: UploadedFile_type in c:\programmi\easyphp1-8\www\dinamico\upload\upload.php on line 16
Tipo di file:Notice: Undefined variable: UploadedFile in c:\programmi\easyphp1-8\www\dinamico\upload\upload.php on line 18
Notice: Undefined variable: UploadedFile_name in c:\programmi\easyphp1-8\www\dinamico\upload\upload.php on line 18
Errore.. upload non riuscito
Notice: Undefined variable: UploadedFile in c:\programmi\easyphp1-8\www\dinamico\upload\upload.php on line 23
Warning: unlink(): Permission denied in c:\programmi\easyphp1-8\www\dinamico\upload\upload.php on line 23Grazie a tutti
-
Devi sostituire $UploadedFile con $_POST[UploadedFile]
-
non escludo inoltre che non abbia i premessi di upload sulla cartella... è in public nel locale?
hai impostato bene php?
-
Ciao
Grazie a voi che mi avete risposto.
Ho assegnato come da consiglio nella pagina upload la variabile$UploadedFile = $_POST[UploadedFile];
Inoltre ho dato un'occhiata al file php.ini nella sezione upload file le seguenti righe che credo vadano bene
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "${path}\tmp"
; Maximum allowed size for uploaded files.
upload_max_filesize = 2MNon so se la cartella public che mi sono creato ha i permessi..nn so come si possano assgnare i permessi...
Anche con la modifica fatta, nn è cambiato niente...mi da gli stessi errori.Spero mi possiate aiutare
-
i permessi di scrittura le verifichi da iis (immagino tu sia su windows).
controlla però che la cartella sia accessibile in scrittura all'utente iusr_[nome_macchina] e lo verifichi dalle proprierà della cartella
-
Si è vero ma credo il problema non siano i permessi...o almeno sono solo un aparte
-
anche io ho lo stesso problema di non riuscire a provare upload da remoto..utilizzo lamp su linux. come posso risolvere?
-
l'upload si svolge in 2 fasi
la prima riguarda la presentazione di un modulo tramite il quale l'utente può scegliere quale file uploadare....si tratta di una banale pagina html contenente un form
<form enctype="multipart/form-data" action="uploader.php" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> Scegli file da uploadare: <input name="uploadedfile" type="file" /><br /> <input type="submit" value="Upload File" /> </form>
l'altra fase è server side e viene svolta in questo esempio dal file uploader.php il quale si occupa di ricevere i dati della sezione POST e conservarli in un file permanente su disco
// directory in cui conservare il file $target_path = "uploads/"; $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { echo "Il file ". basename( $_FILES['uploadedfile']['name']). " è stato registrato."; } else{ echo "Errore durante l'upload, riprovare!!!"; }
notare che PHP mette a disposizione il vettore S_FILES['uploadedfile'] dove sono conservati il nome originale del file e il path del file temporaneo creato da PHP....
questo ovviamente usando PHP, nel caso di ASP, Python, Perl, ecc... la procedura da seguire è diversa
-
IO HO PROVATO QUESTO CODICE MA NON FUNZIONA! IO VORREI INVIARE L'ALLEGATO A UNA E-MAIL COME POSSO FARE? ---------------------------------------------------------- la seconda pagina Upload.php con questo codice: HTML> Upload in php