Il linguaggio di scripting chiamato PHP, acronimo di hypertext del preprocessore, fornisce potenti funzionalità per le attività sul lato server come il caricamento di file. Perché i file video tendono ad essere abbastanza grande, ci sono alcune considerazioni supplementari se si desidera caricare un file video utilizzando PHP. Sarà necessario assicurarsi che il server è configurato per accettare i file delle dimensioni corrette. A seconda della configurazione del server, modificare il file di configurazione php. ini o creare un file. htaccess e quindi procedere con il vostro script di caricamento come si farebbe per un'immagine.
Istruzioni
Configurazione della dimensione di file
1
Determinare quanto grande un file che gli utenti potranno caricare. Si dovrà determinare il compromesso accettabile tra qualità video e la lunghezza del filmato rispetto alle risorse server disponibili. YouTube ha recentemente aumentato la loro dimensione di file massima consentita a 2 GB, ma si potrebbe desiderare di iniziare un po' più piccola; Forse da qualche parte tra 40 e 100 MB, a seconda della tua base di utenti di destinazione e le loro aspettative. < br / > diciamo che, ad esempio, che si desidera limitare le dimensioni di caricamento dei file degli utenti di 60 MB. < br / > quando si modificano il file php. ini, è possibile utilizzare la notazione abbreviata \"60M.\" (il \"M\" è case sensitive; notare non c'è nessun \"B.\") Tuttavia , quando si crea il modulo MAX_FILE_SIZE ingresso più tardi, si dovrà specificare il numero di byte come valore integer: in questo caso, 60 megabyte moltiplicati per 1.048.576 byte per megabyte è uguale a 62,914,560.
2
Su un server dove si ha accesso al file di configurazione php. ini, fare il login al vostro account di hosting, trovare il file php. ini, aprirlo e modificare le seguenti impostazioni: < br / >< br / > upload_max_filesize deve essere impostata sul valore appropriato; in questo caso, 60 M. < br / > post_max_size deve essere maggiore delle dimensioni massime del file per rappresentare dati ulteriori post. In questo esempio, è possibile impostarlo su 61M.
3
Se siete su un server di hosting condiviso, non si possono accedere al file di configurazione php. ini. Sarà necessario impostare le opzioni di configurazione in un file. htaccess. < br / > file di configurazione sarà simile a questo: < br / >< br / >< file upload. php >< br / > php_value post_max_size "61M" < br / > php_value upload_max_filesize "60M" < br / >< / Files >< br / >< br / > Salva come un documento denominato. htaccess e caricarlo nella stessa directory come il caricamento script. < br / > è possibile che il tuo host web può configurare il server per impedire tale personalizzazione. Se questo è il caso, l'unica soluzione consiste nel modificare il web host.
4
Crea il tuo modulo di caricamento HTML. Impostare un valore per l'attributo enctype del form e includono un ingresso nascosto MAX_FILE_SIZE prima del selettore di file: < br / >< br / >< formare enctype = \ "multipart/form-data. \" action=\"upload.php\" Metodo = \ "POST\" >< br / >< tipo di input = \ "hidden\" nome = \ valore "MAX_FILE_SIZE\" = \ "62914560\" / >< br / >< tipo di input = \ "file \" nome = \ "uploadedFile\" / >< br / >< tipo di input = \ "submit\" valore = \ "Caricare il tuo file \" / >< br / >< / form >< br / >< br / > mettere questa forma all'interno di una pagina HTML e denominare il file \"video-form.html\" o quello che vuoi. Post-it al tuo server.
5
Scrivi upload. php, il file che accetterà ed elaborerà il tuo modulo. < br / >< br / > controllare i dati POST per vedere se un file è stato caricato: < br / >< br / > if(!isset($_POST['uploadedFile'])) {< br / > Eco \"No file è stato caricato. \" < br / > andare < br / > Exit () < br / > andare < br / >} < br / >< br / > Ora è possibile utilizzare il $_ files globale per accedere alle informazioni sul file caricato. È possibile memorizzare le informazioni come una variabile così che si può, ad esempio, memorizzare in un database o inviare all'amministratore del sito una notifica via email. Assicurarsi di utilizzare pulizia ingresso base per rendere la vita più difficile per i pirati informatici junior. Si noti che l'intestazione di "tipo" può essere contraffatta, quindi test è utile solo per la protezione contro gli errori onesti. < br / >< br / > $fileName = htmlspecialchars($_FILES['uploadedFile']['name']) < br / > andare < br / > $fileType = htmlspecialchars($_FILES['uploadedFile']['type']) < br / > andare < br / > $fileSize = htmlspecialchars($_FILES['uploadedFile']['size']) < br / > andare < br / > $tempName = htmlspecialchars($_FILES['uploadedFile']['tmp_name']) < br / > andare < br / > $errorCode = htmlspecialchars($_FILES['uploadedFile']['error']) < BR / > andare < br / >< br / > quindi spostare il file dalla directory temporanea per la directory di destinazione. < br / >< br / > $directory = ' percorso/per/utente-file' < br / > andare < br / > $finalFileLocation = $directory. baseName($filename) < br / > andare < br / >< br / > se (move_uploaded_file ($tempName, $finalFileLocation)) {< br / > echo "File è stato caricato con successo." < br / > andare < br / >} else {< br / > echo "errore! Attività di hacker possibili." < br / > andare < br / >} < br / >< br / > quando si esegue il test e risoluzione dei problemi il vostro script, potete eseguire l'output tutti i valori nell'array $ files al browser: < br / >< br / > print_r($_FILES) < br / > andare < br / >< br / > Tuttavia, non è necessario includere questo volta che il vostro sito va in diretta , in quanto tale informazione è utile per potenziali hacker.
Consigli & Avvertenze
- Poiché i file video sono abbastanza grandi, il processo di caricamento richiederà molto tempo, ed è bello dare agli utenti un feedback in tempo reale. Una volta che hai dimestichezza con i caricamenti di base, è possibile implementare uno script dinamico (ad esempio un oggetto Flash) per visualizzare una barra di avanzamento del caricamento.