August 16
Ci sono due metodi che è possibile utilizzare per gestire il caricamento di file da un client a un server con PHP. Il metodo POST, utilizzato dai moduli delle pagine Web, codifica il file come parte della richiesta HTTP da parte del cliente. Il metodo PUT, utilizzato dai client come Netscape Composer, scrive il file direttamente alla connessione socket stabilita con il server.
1 Creare un modulo di upload di file nella pagina Web. L'attributo action è il percorso e il nome del file PHP che verrà gestendo il caricamento del file. Il valore di ingresso MAX_FILE_SIZE è la dimensione massima in byte permetterete per il file di testo caricato.
<Form enctype = action = metodo "multipart / form-data" "your.php" = "POST">
<input type="hidden" name="MAX_FILE_SIZE" value="64000" />
Upload file: <input name="fileupload" type="file" />
<input type="submit" value="Upload" />
</ Form>
2 Modificare il file PHP. Impostare il percorso e il nome del file in cui il file di testo caricato verrà salvato sul server. L'array $ _FILES contiene informazioni relative al file caricato, si fa riferimento utilizzando l'attributo nome dell'ingresso file assegnato in forma pagina Web.
$ Uploaddir = '/ srv / www / uploads /';
$ Nomefile = basename ($ _ FILES [ 'fileupload'] [ 'name']);
$ UploadFile = $ uploaddir. $ Nomefile;
3 Spostare il file caricato dalla posizione temporanea in cui il server memorizzato alla destinazione impostata per il caricamento.
if (move_uploaded_file ($ _ FILES [ 'fileupload'] [ 'tmp_name'], $ UploadFile)) {
echo $filename . " uploaded. Thank you!\n";
}
altro {
echo "Error uploading " . $filename . ": " . $_FILES['userfile']['error'] . "\n";
4 Modificare il file PHP. Impostare il percorso e il nome del file in cui il file di testo caricato verrà salvato sul server. L'array $ _SERVER contiene informazioni relative alla richiesta, compreso il nome del percorso di destinazione e il file richiesto dal cliente ( 'REQUEST_URI').
$ Uploaddir = '/ srv / www / uploads /';
$ Nomefile = basename ($ _ SERVER [ 'REQUEST_URI']);
$ UploadFile = $ uploaddir. $ Nomefile;
5 Aprire il flusso di ingresso per i dati del file che è caricato.
$ in entrata = fopen ( "php: // input", "r");
6 Aprire un puntatore al file di destinazione in cui si desidera salvare il file caricato.
$ Salvaper = fopen ($ UploadFile, "w");
7 Leggere i dati dal flusso in entrata e scrivere il file di destinazione.
while ($ Indata = fread ($ in entrata, 1024)) {
fwrite ($ Salvaper, $ Indata);
8 Chiudere i flussi di input e di file.
fclose ($ Salvaper);
fclose ($ in entrata);