Hvordan laste opp en videofil med PHP

Hvordan laste opp en videofil med PHP


Skriptspråket heter PHP, en forkortelse for Hypertext Preprocessor, gir kraftig funksjonalitet for server-side oppgaver som filopplasting. Fordi videofiler en tendens til å være ganske stor, er det noen ekstra hensyn hvis du ønsker å laste opp en videofil med PHP. Du må sørge for at serveren er konfigurert til å godta filer av riktig størrelse. Avhengig av serveroppsett, enten redigere php.ini konfigurasjonsfil eller opprette en .htaccess fil, og deretter fortsette med opplastingen script som du ville gjort for et bilde.

Bruksanvisning

Filstørrelse Configuration

1 Bestem hvor stor fil brukerne vil få lov til å laste opp. Du må bestemme akseptabel avveining mellom videokvalitet og filmlengde versus tilgjengelige ressurser server. YouTube har nylig økt sin tillatte maksimale filstørrelsen til 2 GB, men du kan ønske å starte en litt mindre; kanskje et sted mellom 40 og 100 MB, avhengig av målet brukerbase og deres forventninger. <br /> La oss si, for eksempel at du ønsker å begrense brukernes filopplasting størrelse til 60 MB. <br /> Når du endrer php.ini, kan du bruke den korte notasjonen \ "60M. \" (den \ "M \" er case sensitive, oppmerksom på at det er ingen \ "B. \") Men når du oppretter MAX_FILE_SIZE skjema innspill senere, du er nødt til å spesifisere hvor mange bytes som et heltall: i dette tilfellet, 60 megabyte multiplisert med 1.048.576 bytes per megabyte tilsvarer 62.914.560.

2 På en server der du har tilgang til php.ini konfigurasjonsfil, logge inn på din hosting konto, finner php.ini filen, åpne den og redigere følgende innstillinger: <br /> <br /> upload_max_filesize må være satt til den aktuelle verdi; i dette tilfellet, 60M. må <br /> post_max_size være større enn den maksimale filstørrelsen å gjøre rede for ekstra innlegg data. For dette eksempelet, sett den til 61m.

3 Hvis du er på en delt fiendtlig server, kan det hende du ikke har tilgang til php.ini konfigurasjonsfil. Du må angi konfigurasjonsmuligheter i en .htaccess fil. <br /> Din konfigurasjonsfil vil se slik ut: <br /> <br /> <Files upload.php> <br /> php_value post_max_size "61m" <br /> php_value upload_max_filesize "60M" <br /> </ filer> <br /> <br /> Lagre dette som et dokument som heter .htaccess og laste den opp til samme katalog som du laster opp skriptet. <br /> det er mulig at din web host kan konfigurere serveren til å forby slik tilpasning. Hvis dette er tilfelle, er din eneste mulighet til å endre web verter.

4 Lag din HTML opplastingsskjemaet. Angi en verdi for skjemaets enctype attributt, og inkluderer en MAX_FILE_SIZE skjult inngang før filvelgeren: <br /> <br /> <form enctype = \ "multipart / skjema-data \" action = \ "upload.php \" method = \ "POST \"> <br /> <input type = \ "skjult \" name = \ "MAX_FILE_SIZE \" value = \ "62914560 \" /> <br /> <input type = \ "file \" name = \ "uploadedFile \" /> <br /> <input type = \ "submit \" value = \ "Last opp ditt File \" /> <br /> </ form> <br /> <br /> Put denne formen inne en HTML-side og navngi filen \ "video-form.html \" eller hva du vil. Post det til serveren din.

5 Skriv upload.php, filen som vil godta og behandle form. <br /> <br /> Sjekk POST-dataene for å se om en fil er lastet opp: <br /> <br /> if (isset ($ _ POST [ 'uploadedFile'])) {<br /> ekko \ "Ingen fil ble lastet opp. \" <br /> GO <br /> exit () <br /> GO <br />} <br /> <br /> nå kan du bruke $ _files global array å få tilgang til informasjon om den opplastede filen. Det kan være lurt å lagre denne informasjonen som en variabel, slik at du kan for eksempel lagre den i en database eller sende webområdeadministratoren en e-post. Pass på å bruke basic input rensing for å gjøre livet vanskeligere for junior hackere. Legg merke til at "type" header kan etterlignes, så teste det er bare nyttig for å beskytte mot ærlige feil. <br /> <br /> $ Filename = htmlspecialchars ($ _ FILES [ 'uploadedFile'] [ 'navn']) < br /> GO <br /> $ filetype = htmlspecialchars ($ _ FILES [ 'uploadedFile'] [ 'type']) <br /> GO <br /> $ filstørrelse = htmlspecialchars ($ _ FILES [ 'uploadedFile'] [ 'størrelse ']) <br /> GÅ <br /> $ tempName = htmlspecialchars ($ _ FILES [' uploadedFile '] [' tmp_name ']) <br /> GÅ <br /> $ errorcode = htmlspecialchars ($ _ FILES [' uploadedFile ' ] [ 'error']) <br /> GO <br /> <br /> Så flytte filen fra den midlertidige katalogen til målkatalogen. <br /> <br /> $ directory = 'sti / til / bruker -files '<br /> GÅ <br /> $ finalFileLocation = $ katalogen. basename ($ filename) <br /> GÅ <br /> <br /> if (move_uploaded_file ($ tempName, $ finalFileLocation)) {<br /> echo "Fil har blitt lastet opp." <br /> GO <br />} else {<br /> echo "Feil! Mulig hacker aktivitet "<br /> GO <br />} <br /> <br /> Når du tester og feilsøking script, du kan sende ut alle verdiene i $ _files array til nettleseren. <Br / > <br /> print_r ($ _ FILES) <br /> GO <br /> <br /> Men du bør ikke ta dette når området går live, slik informasjon er nyttig for potensielle hackere.

Hint

  • Fordi videofiler er ganske stor, vil opplastingen ta lang tid, og det er hyggelig å gi brukerne noen tilbakemeldinger i sanntid. Når du er komfortabel med grunnleggende opplasting, kan det være lurt å gjennomføre en dynamisk script (for eksempel en Flash-objekt) for å vise en opplasting fremdriftslinje.