The skriptspråk som heter PHP , förkortning för Hypertext Preprocessor , erbjuder kraftfulla funktioner för server - side uppgifter såsom filuppladdning . Eftersom videofiler brukar vara ganska stora , finns det några extra överväganden om du vill ladda upp en videofil med PHP . Du måste se till att din server är konfigurerad att acceptera filer i rätt storlek . Beroende på din webbserver , antingen redigera filen php.ini konfigurationen eller skapa en . Htaccess -fil , och sedan gå vidare med din uppladdning script som du skulle för en bild . Saker du behöver webbserver med PHP aktiverat Text editor FTP eller server - side filöverföraren Visa fler instruktioner File Size Configuration 1
Bestäm hur stor en fil era användare får ladda upp . Du kommer att behöva fastställa acceptabla kompromiss mellan bildkvalitet och film längd kontra tillgängliga resurser på servern . YouTube har nyligen ökat sin tillåtna storleken maximalt fil till 2 GB , men du kanske vill starta en lite mindre , . Kanske någonstans mellan 40 och 100 MB , beroende på ditt mål användarbas och deras förväntningar Låt oss säga , till exempel att du vill begränsa användarnas filuppladdning storlek till 60 MB . När du ändrar php.ini , kan du använda stenografi notation \\ " 60M . \\ " ( The \\ " M \\ " är skiftlägeskänsligt , observera det finns ingen \\ " B. \\ " ) Men när du skapar MAX_FILE_SIZE formulär input senare , måste du ange antalet byte som ett heltal : i det här fallet , 60 megabyte multiplicerat med 1.048.576 byte per megabyte lika med 62.914.560 . 2
på en server där du har tillgång till php.ini konfigurationsfil , logga in på ditt webbhotell konto , hitta php.ini filen , öppna den och ändra följande inställningar :
upload_max_filesize måste sättas till lämpligt värde , i detta fall , 60M post_max_size måste vara större än din maximala filstorleken . att stå för ytterligare en tjänst uppgifter . För detta exempel , ställ in den på 61M . 3 p Om du är på en delad hosting server , kanske du inte har tillgång till php.ini konfigurationsfil . Du kommer att behöva ange konfigurationsalternativ i en . Htaccess -fil . Din konfigurationsfil kommer se ut så här :
Spara detta som ett dokument som heter . htaccess och ladda upp den till samma katalog som din upload script . det är möjligt att ditt webbhotell kan konfigurera servern att underkänna en sådan anpassning . Om så är fallet , är din enda utväg att byta webbhotell . 4
Skapa din HTML upload formulär . Ange ett värde för formulärets enctype attribut , och inkluderar en MAX_FILE_SIZE dold ingång innan filväljaren :
< formen enctype = \\ " multipart /form-data \\ " action = \\ " upload.php \\ " metod = \\ " POST \\ " > < input type = \\ " dolda \\ " name = \\ " MAX_FILE_SIZE \\ " value = \\ " 62914560 \\ " />
< input type = \\ " submit \\ " value = \\ " upp filen \\ " />
Sätt detta formulär inuti ett HTML sidan och namnge filen \\ " video - form.html \\ " eller vad du vill . Skicka den till din server . 5
Skriv upload.php , den fil som ska ta emot och behandla formuläret .
Kontrollera POST-data för att se om en fil har lagts upp :
if ( isset ( $ _POST [ ' uploadedFile ' ] ) ! ) { echo \\ " Ingen fil laddades . \\ " GO exit ( ) GO }
nu kan du använda $ _FILES global array för att få tillgång till information om den uppladdade filen . Du kanske vill spara denna information som en variabel så att du kan , till exempel , lagra det i en databas eller skicka din webbplats administratören ett e-postmeddelande . Var noga med att använda basic input rensning för att göra livet svårare för junior hackare . Observera att " typen " header kan förfalskas , så testa den är bara användbar för att skydda mot ärliga misstag .
om ( move_uploaded_file ( $ tempName , $ finalFileLocation ) ) { echo " har filen lyckades laddats upp . " GO } else { echo " Fel ! Möjlig hackare . " GO }
När du testar och felsöker ditt script , kan du mata ut alla värden i $ _FILES arrayen till webbläsaren :
print_r ( $ _FILES ) GO
Men ska du inte inkludera detta när din webbplats går leva , eftersom sådan information är till hjälp för hackare .