Come caricare un file video Utilizzo di PHP

December 12

Come caricare un file video Utilizzo di PHP


Il linguaggio di scripting chiamato PHP, abbreviazione di Hypertext Preprocessor, fornisce potenti funzionalità per le attività lato server, come il caricamento dei file. Poiché i file video tendono ad essere molto grande, ci sono alcune considerazioni extra se si desidera caricare un file video utilizzando PHP. È necessario garantire che il server è configurato per accettare i file delle dimensioni appropriate. A seconda della configurazione del server, modificare il file di configurazione php.ini o creare un file .htaccess, e quindi procedere con lo script di upload come si farebbe per un'immagine.

istruzione

File di configurazione Size

1 Determinare quanto grande di un file gli utenti sarà consentito di caricare. Si dovrà stabilire il trade-off accettabile tra qualità video e la lunghezza del film rispetto a risorse del server disponibili. YouTube ha recentemente aumentato la loro dimensione massima del file consentita a 2 GB, ma si potrebbe desiderare di iniziare un po 'più piccolo; forse da qualche parte tra 40 e 100 MB, a seconda della base di utenti di destinazione e le loro aspettative. <br /> Diciamo, per esempio, che si desidera limitare le dimensioni di caricamento file dei vostri utenti a 60 MB. <br /> Quando si modifica php.ini, è possibile utilizzare la notazione \ "60M \". stenografia (il \ "M \" è case sensitive, notare non c'è \ "B. \") Tuttavia, quando si crea il modulo di input MAX_FILE_SIZE più tardi, si dovrà specificare il numero di byte come un numero intero: in questo caso, 60 megabyte moltiplicato per 1.048.576 byte per megabyte equivale a 62.914.560.

2 Su un server in cui si ha accesso al file di configurazione php.ini, accedere al proprio account di hosting, trovare il file php.ini, aprirlo e modificare le seguenti impostazioni: <br /> <br /> upload_max_filesize deve essere impostato su il valore appropriato; in questo caso, 60M. <br /> post_max_size deve essere più grande la dimensione massima del file per tenere conto di dati post aggiuntivi. Per questo esempio, impostarlo su 61M.

3 Se siete su un server di hosting condiviso, non si può avere accesso al file di configurazione php.ini. Sarà necessario impostare le opzioni di configurazione in un file .htaccess. <br /> Il file di configurazione sarà simile a questa: <br /> <br /> <file upload.php> <br /> php_value post_max_size "61M" <br /> php_value upload_max_filesize "60M" <br /> </ File> <br /> <br /> Salva questo come un documento denominato .htaccess e caricarlo nella stessa directory come lo script di upload. <br /> e 'possibile che il vostro host web può configurare il server di rifiutare tali personalizzazione. Se questo è il caso, l'unica soluzione è cambiare web host.

4 Crea il tuo modulo di upload HTML. Impostare un valore per l'attributo enctype del form, e comprendono un ingresso nascosto MAX_FILE_SIZE prima del selettore di file: <br /> <br /> <form enctype = \ "/ form-data \ multipart" action = \ "upload.php \" method = \ "POST \"> <br /> <input type = \ "nascosti \" name = \ valore "MAX_FILE_SIZE \" = \ "62914560 \" /> <br /> <input type = \ "file \" name = \ "UploadedFile \" /> <br /> <input type = \ "submit \" value = \ "caricare il file \" /> <br /> </ form> <br /> <br /> put questa forma all'interno di una pagina HTML e denominare il file \ "Video-form.html \" o qualsiasi altra cosa che ti piace. Pubblica sul vostro server.

5 Scrivi upload.php, il file che verrà accettare ed elaborare il modulo. <br /> <br /> Controllare i dati POST per vedere se un file è stato caricato: <br /> <br /> if (isset ($ _ POST [ 'UploadedFile'])) {echo <br /> \ "Nessun file è stato caricato. \" <br /> uscita GO <br /> () <br /> <br /> GO} <br /> <br /> Ora è possibile utilizzare la matrice globale $ _FILES per accedere alle informazioni circa il file caricato. Si potrebbe desiderare di conservare queste informazioni come una variabile in modo che si può, per esempio, conservarlo in un database o inviare il proprio amministratore del sito una notifica via email. Assicurarsi di utilizzare la pulizia input di base per rendere la vita più difficile per gli hacker Junior. Si noti che l'intestazione "tipo" può essere falsificato, in modo da testare è utile solo per la protezione contro gli errori onesti. <br /> <br /> $ Nomefile = htmlspecialchars ($ _ FILES [ 'UploadedFile'] [ 'name']) < br /> <br /> GO $ fileType = htmlspecialchars ($ _ FILES [ 'UploadedFile'] [ 'type']) <br /> <br /> GO $ filesize = htmlspecialchars ($ _ FILES [ 'UploadedFile'] [ 'size ']) <br /> <br /> GO $ tempname = htmlspecialchars ($ _ FILES [' UploadedFile '] [' tmp_name ']) <br /> <br /> GO $ errorCode = htmlspecialchars ($ _ FILES [' UploadedFile ' ] [ 'error']) <br /> GO <br /> <br /> Poi spostare il file dalla directory temporanea nella directory di destinazione. <br /> <br /> $ directory = 'path / to / utente <br /> lime 'GO <br /> directory $ finalFileLocation = $. basename ($ filename) <br /> GO <br /> <br /> se (move_uploaded_file ($ tempname, $ finalFileLocation)) {<br /> echo "Il file è stato caricato con successo." <br /> GO <br />} else {echo <br /> errore "! Possibili attività di hacker "<br /> <br /> GO} <br /> <br /> Quando si esegue il test e la risoluzione dei problemi dello script, è in grado di emettere tutti i valori nella matrice $ _FILES al browser:. <Br / > <br /> print_r ($ _ FILES) <br /> GO <br /> <br /> Tuttavia, non si dovrebbe includere questo una volta che il sito va in diretta, in quanto tali informazioni siano utili a potenziali hacker.

Consigli e avvertenze

  • Poiché i file video sono abbastanza grandi, il processo di caricamento vorrà molto tempo, ed è bello per offrire agli utenti un feedback in tempo reale. Una volta che hai dimestichezza con arrivi di base, si consiglia di implementare uno script dinamici (ad esempio un oggetto Flash) per visualizzare una barra di avanzamento del caricamento.