Guide, risorse e articoli per webmaster e webdesigner

Add to Google Reader or Homepage

sabato 17 maggio 2008


Menù

Home
Html & XHtml
Css
Javascript
Php
Motori di ricerca
News web
Contatti

Login Form






Password dimenticata?
Nessun account? Registrati
Home arrow Php arrow Articoli php arrow Effettuare upload di files con php

Effettuare upload di files con php Stampa E-mail
Scritto da Vincenzo   

Con php è possibile effettuare l'upload di files in modo semplicissimo. In questo script, compatibile anche con le versioni precedenti alla 4.03 di php, verranno esaminate in dettaglio le tecniche per effettuare l'upload di files sul server remoto.

Per prima cosa dobbiamo creare la pagina "form.html", contenente il form che permette all'utente di effettuare l'upload:

<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="upfile">
<input type="hidden" name="MAX_FILE_SIZE" value="10000">
<input type="submit" value="Invia il file">
</form>

Il campo nascosto con nome MAX_FILE_SIZE serve a definire la dimensione massima del file da uploadare, questo parametro può essere settato anche nel file di configurazione di php (php.ini), garantendo una maggiore sicurezza.

La pagina "form.html" può essere integrata facilmente in un documento html o in una pagina php, magari con un include:

include("form.html"); 

Prima di procedee dello script vero e proprio, dobbiamo sapere che per scrivere in una cartella, e quindi per copiarvi al suo interno il file precre alla realizzazionedentemente uploadato, questa deve avere i giusti permessi chmod per la scrittura (777).

Dopo aver creato una nuova cartella sul server remoto,  bisogna rinominarla in "upload", sarà la directory in cui verranno spostati tutti i files uploadati.

Dopo l'upload, verrà automaticamente creato da php un array globale $HTTP_POST_FILES,  che continene i files uploadati.

Nelle versioni successive alla 4.03, questi array globali prendono il nome $_FILES, quindi dobbiamo rendere compatibile lo script con le versioni precedenti e succesive allla 4.03 con questo codice:

if(!isset($_FILES)) {
    $_FILES = $HTTP_POST_FILES;
}
if(!isset($_SERVER)) {
    $_SERVER = $HTTP_SERVER_VARS;
}

Con queste poche righe di codice viene effettuato un controllo sull'esistenza dell'array $_FILES, se l'array non esiste viene creato e viene assegnato come suo valore, il valore dell'array $HTTP_POST_FILES, lo stesso procedimento viene effettuato anche con $SERVER.



 
< Prec.   Pros. >


Articoli correlati

Feed Rss


Corso PHP Completo
Corso completo per la creazione di siti Web dinamici. Corso con assistenza ed attestato finale!
Corso MySQL
Gestione del database open-source. Corso con assistenza ed attestato finale!