Filopplasting er en vanlig oppgave for webapplikasjoner. Ulike typer filer er pålagt å laste opp basert på applikasjonen. Bildefiler, tekstfiler, PDF -filer, XML -filer osv. kan lastes opp ved å bruke PHP -skript. En eller flere filer kan lastes opp av PHP. Det er noen PHP -direktiver i PHP.Inn jeg Konfigurasjonsfil og PHP-innebygde funksjoner relatert til filopplasting som er diskutert i denne opplæringen. HTML har en bestemt attributt i skjemaet for filopplastningsoppgaver, det vil si Enctype.
PHP -direktiver for filopplasting
PHP -direktiv | Hensikt |
---|---|
file_uploads | Verdien av dette direktivet må være På For å laste opp filen ved hjelp av PHP -skript. Standardverdien for dette direktivet er På. |
upload_tmp_dir | Den brukes til å angi den midlertidige katalogen der filen blir lastet opp. |
upload_max_filesize | Den brukes til å angi maksimal størrelse på filen som kan lastes opp. |
max_file_uploads | Det brukes til å angi antall filer som kan lastes opp. |
post_max_size | Det brukes til å angi maksimal størrelse på postdataene, og verdien av dette direktivet må være mer enn verdien av UPLOAD_MAX_FILESIZE -direktivet fordi filen lastes opp etter postforespørselen. |
max_input_time | Det brukes til å angi maksimal tid til å lese dataene fra opplastingsfilen. |
max_execution_time | Det brukes til å angi maksimal tid på sekunder for å utføre skriptet for å laste opp filen. |
Memory_limit | Det brukes til å angi den maksimale minnestørrelsen som kreves for å utføre et PHP -skript for å laste opp filen. |
PHP -funksjoner for filopplasting
To innebygde funksjoner brukes hovedsakelig i PHP for å laste opp filen som er nevnt nedenfor.
EN. is_uploaded_file ()
Det brukes til å sjekke om filen er lastet opp gjennom HTTP -innlegget som hjelper til med å forhindre et angrep fra den ondsinnede brukeren.
B. move_uploaded_file ()
Den brukes til å flytte den opplastede filen til webserverens plassering. Denne funksjonen vil returnere sant hvis filen lastes opp og flyttes med suksess.
PHP -filopplastingsvariabel
Variabelen for $ _Files -array lagrer all informasjon relatert til å laste opp en fil til serveren. Det er en superglobal variabel av PHP som er tilgjengelig hvor som helst fra manuset. Den inneholder fem typer informasjon: filnavn, type, størrelse, midlertidig filnavn og feil relatert til å laste opp filen. Hensikten med hver verdi av $ _file -arrayen er nevnt nedenfor. Anta at navnet på opplastingsfeltnavnet er 'laste opp' her.
EN. $ _Files ['opplasting'] ['navn']
Det brukes til å få det originale filnavnet som er lastet opp av klientens datamaskin.
B. $ _Files ['opplasting'] ['tmp_name']
Det brukes til å få det midlertidige filnavnet som er lagret på serveren midlertidig.
C. $ _Files ['opplasting'] ['type']
Den brukes til å få mime -typen til den opplastede filen.
D. $ _Files ['opplasting'] ['størrelse']
Den brukes til å få størrelsen på den opplastede filen i byte.
E. $ _Files ['opplasting'] ['feil']
Det brukes til å få feilkoden som er relatert til opplastingsoppgaven. Variabelen kan inneholde noen av de 7 typene verdier som er nevnt nedenfor.
Feil kode | Beskrivelse |
---|---|
1- Upload_err_ok | Den genererer når filen laster opp vellykket. |
2- upload_err_ini_size | Det genererer hvis filstørrelsen overstiger verdien av upload_max_filesize Direktiv som er definert i PHP.ini -fil. |
3- upload_err_partial | Det genererer hvis filstørrelsen overstiger verdien av max_file_size -direktivet som er definert i HTML -skjemaet. |
4- upload_err_no_file | Det genererer hvis ingen fil lastes opp. |
5- upload_err_no_tmp_dir | Det genererer hvis ingen midlertidig katalog mangler. |
6- upload_err_cant_write | Det genererer hvis det ikke er noen skrivetillatelse på serverplassen. |
7- Upload_err_extension | Det genererer hvis PHP -utvidelsen stopper opplastningsoppgaven. |
Last opp fil ved hjelp av PHP
Ulike eksempler på å laste opp filen ved hjelp av PHP -skript er vist i denne delen av opplæringen.
Eksempel 1: Last opp alle typer filer
Du kan laste opp filen på det nåværende stedet der PHP -skriptet utfører eller i en bestemt mappe. Du må opprette mappen på serverplassen for å laste opp en fil i en bestemt mappe før du utfører PHP -skriptet. Jeg har opprettet en mappe som heter 'opplastinger ' Inne i arbeidsmappen. Opprett en PHP -fil med følgende skript som vil laste opp en fil av alle typer inne i 'opplastinger ' mappe. Et HTML -skjema med et filtypefelt og en innsendingsknapp har blitt brukt i skriptet for å velge filen fra klientens datamaskin for opplasting. Hvis 1 genereres som en feilkode etter å ha lastet opp filen, lastes filen lastet opp. Neste, The move_upload_file () Funksjonen har blitt brukt til å flytte den opplastede filen til serverplassen. Suksessmeldingen vil bli skrevet ut hvis filen lastes opp til serverplassen med hell; Ellers vises en feilmelding.
// sjekk hvilken fil er valgt eller ikkeFilen lastes opp vellykket.
';Feil på å laste opp filen.
'. $ _Files ['uploadfile'] ['feil']. '
Feil på å laste opp filen.
'. $ _Files ['uploadfile'] ['feil']. '
Last opp fil ved hjelp av PHP
Produksjon
Følgende utdata vises hvis skriptet blir utført fra webserveren.
Klikk på Bla gjennom Knapp for å velge filen for opplasting og trykk på opplastingsknappen for å laste opp filen til serveren.
Følgende melding vises hvis filen er lastet opp vellykket.
Eksempel 2: Last opp en fil av den spesifikke typen og størrelsen
Måten å laste opp filen ved hjelp av en egen HTML -fil og PHP -fil er vist i dette eksemplet. Opprett en HTML -fil med følgende skript for å vise skjemaet for å laste opp filen.
opplasting.html
Last opp JPEG -fil ved hjelp av PHP
Lag et PHP -skript med følgende skript som bare vil laste opp JPEG -filen, og størrelsen vil være mindre enn 300000 byte. Filtypen og størrelsen er lest ved å bruke $ _Files ['UploadFile'] ['Type'] og $ _Files ['UploadFile'] ['Størrelse'] -variabler. Suksessmeldingen vises hvis den opplastede filtypen og størrelsen samsvarer med kriteriene som er definert i 'IF' -tilstanden; Ellers vises en feilmelding.
Upload2.PHP
// sjekk hvilken fil er valgt eller ikkeFilen lastes opp vellykket.
';Feil på å laste opp filen.
'. $ _Files ['uploadfile'] ['feil']. '
Filtype eller størrelse støttes ikke.
';Feil på å laste opp filen.
'. $ _Files ['uploadfile'] ['feil']. '
Produksjon
I følgende utgang blomst.png Filen er valgt som ikke er en JPEG -fil:
Følgende utgang vises etter å ha trykket på Laste opp knapp:
Her, blomsten1.JPEG -fil er valgt som er en JPEG -fil.
Nå vises følgende utgang etter å ha trykket på Laste opp knapp:
Eksempel 3: Sjekk filen før du lastes opp
Lag en PHP -fil med følgende skript som bruker is_uploaded_file () Funksjon for å sjekke om filen lastes opp gjennom HTTP -innlegget før du flytter filen til serveren. Skriptet vil bare laste opp tekstfilen og skrive ut innholdet i tekstfilen etter å ha lastet opp filen med hell.
// sjekk om noen fil er valgt eller ikkeLast opp fil ved hjelp av PHP
Produksjon
I den følgende utdata er det valgt en tekstfil for opplasting:
Innholdet i filen er vist i utdataene etter å ha lastet opp filen med hell.
Konklusjon
Filopplastningsoppgaven er et vanlig krav for alle webapplikasjoner. Bruken av filopplastingsvariabelen og de innebygde funksjonene til PHP er vist i denne opplæringen ved å bruke flere fillasting av eksempler. Hvis du vil, kan du laste opp mer enn en fil om gangen ved å bruke PHP -skriptet som er dekket i denne opplæringen. Du kan også laste opp en mappe som inneholder flere filer ved å bruke PHP -skriptet.