PHP supporta molte caratteristiche, così il suo grande successo tra gli sviluppatori che cercano di facilità di programmazione, basi di dati di supporto,
funziona indipendentemente dal sistema operativo e hardware, tra gli altri.
Tra le caratteristiche di PHP è il supporto per l'invio di file al server tramite un modulo HTML. Qualsiasi tipo di file possono essere inviati al server, sia essa un'immagine, un file di testo, un database, ecc. O, meglio, se il binario o testo.
Per inviare un file, è necessario prima creare un modulo per l'utente di specificare quali file si desidera inviare:
<form enctype="multipart/form-data" action="teste.php" method="POST"> <input name="ficheiro" type="file" /> <input type="submit" name="submit" value="Submit ficheiro" /> </ Form> |
ATTENZIONE: Il "enctype" è richiesto senza di essa non può inviare il file al server!
Per accettare il file php, alcuni parametri devono essere configurati correttamente in PHP:
file_uploads = On - supporta l'invio di file PHP;
upload_tmp_dir = - Qual è la directory dove si tengono php "temporaneo" file inviato.
upload_max_filesize = 2M - Dimensione massima del file accettato da PHP
In genere, il PHP è configurato per accettare il caricamento di file, ma è sempre bene controllare le impostazioni di php.ini per non avere mal di testa dopo.
Oltre al limite di dimensione del file imposto dalla configurazione di PHP (che è per tutti gli script server-side) può anche limitare le dimensioni utilizzando una configurazione del modulo:
"MAX_FILE_SIZE \" type=" hidden " value=" 1024 " /> "MAX_FILE_SIZE = \" "hidden" = Tipo di valore nome = <Input "1024" /> |
In questo caso abbiamo limitare la dimensione massima dei file a 1024 byte. Ma dovrebbe fare affidamento su questo parametro, perché chiunque abbia alcuna conoscenza di HTML sarà in grado di rimuovere questo limite. Qui di seguito mostra un'altra soluzione per questo.
Okay, è stato selezionato il file da inviare e premere il pulsante "Upload file" se pulcini un file con il modulo di cui sopra e un file "test.php" (può essere lo stesso file del modulo) del browser utente inviare il file al server, e non accadrà nulla, e PHP hanno salvato il file nella directory temp e cancellate il file nella esecuzione dello script. Quindi dobbiamo fare qualcosa di diverso con il file. Dopo aver ricevuto il file, negozi di PHP in una directory temporanea con un nome scelto per lui, e creare le variabili più globale con le informazioni da questo file, in base al nome che hai scelto per il campo, nel nostro caso "file":
$ File: nome del file, con il suo percorso assoluto in cui hai salvato il php
$ Ficheiro_name: nome del file, in assoluto la macchina dell'utente
$ Ficheiro_size: Dimensione del file in byte
$ Ficheiro_type: tipo "MIME" file
Con queste variabili ora possiamo fare qualsiasi cosa con il file. Possiamo, per esempio, verificare che il file ha una dimensione al di sotto del massimo desiderato da inviare (questo è molto importante perché rende impossibile per qualcuno di caricare un file così grande che può bloccare il server). Usiamo il seguente script:
<? Php $ficheiro_size > 1024 ) { if ($ ficheiro_size> 1024) ( ; print "La dimensione del file è superiore al limite consentito <br>"; uscita ; ) ?> |
Per non lasciare che alcuni utenti arrabbiati, si possono utilizzare entrambe le opzioni insieme, il limite entro il form and il limite entro il copione, quindi gli utenti normali non saranno delusi da aspettare parecchi minuti caricare il file sul server e solo dopo being warned che il file era troppo grande, in modo che il browser si lamenta che le dimensioni troppo grandi, prima di inviare il file e utenti "intelligente" avrà una delusione scoprire che c'era un altro limite.
Abbiamo ora bisogno di fare qualcosa con il file prima di terminare lo script, ma php lo cancellerà . Abbiamo il nome del file nella variabile "file", allora dobbiamo mettere da qualche parte sul server. Possiamo usare la funzione PHP "copia". La funzione di copia richiede due parametri: origine e la destinazione, e restituisce vero o falso, cioè se non copiati. Attenzione a chi userà questo metodo su un sistema Linux, UNIX o qualsiasi altro che ha il supporto per i permessi dei file, perché la funzione "copia" sarà eseguire una copia del il file come utente che esegue il server, quindi se l'utente / gruppo in esecuzione il server non ha i permessi di scrittura sulla directory di destinazione, non sarà in grado di copiare il file lì. In questo caso, provate a scrivere in / tmp, che di solito ha il permesso di scrittura a tutti gli utenti, o dare il permesso a una directory specifica solo per salvare i file. Supponendo che il server ha permesso di scrivere file nella sottodirectory della directory del nostro script, scriviamo:
<? Php .... copy ( $ficheiro , "ficheiro/ficheiro_do_utilizador" ) ) { if ( copia ($ file, "File / ficheiro_do_utilizador")) ( ; print "Il file è stato ricevuto! <br>"; { ) Il resto ( ; print "Errore durante la ricezione del file! <br>"; ) ?> |
Okay, ora il file è stato salvato come file ficheiro_do_utilizador nella sottodirectory. Si noti che tutti gli utenti di tale trasmesso il dossier al server permette di avere un file salvato con lo stesso nome, così un solo file esistono, e il file sarà l'ultimo utente che ha inviato il file.
Spetta al lettore l'esercizio di creare un unico file per ogni utente e un utente non può inviare più di tre file per il login.
Presto ci sarà un tutorial che spiega come eseguire questa operazione
Alla prossima!
Popolarità : 18% [ ? ]
Related posts Portato voi da Yet Another Related Posts Plugin .









