Presentasjon.
Last opp filer til en webserver; enkelt, hvor vanskelig kan det være? Sikkert mange vil si det, men de som nettopp har begynt i denne verden har sikkert lurt på hvordan det gjøres, jeg vil bare komme til dem, så hvis du starter i PHP eller er en avansert bruker som mistet denne koden og ikke gjør det vil du bruke den igjen skrive, så inviterer jeg deg til å lese videre, for i denne artikkelen vil jeg dele koden min for å laste opp filer raskt og enkelt, for dette vil jeg bruke HTML5, PHP og jeg vil legge til et attraktivt preg med boostrap. I dette tilfellet vil jeg forklare hvordan du laster opp .jpg.webp eller .png.webp bilder, men med minimale endringer kan du laste opp dokumenter, lyd og til og med video hvis du ønsker det.
Hva trenger vi?a) En datamaskin
b) En lokal server for å teste og få tilgang til databasen (jeg bruker XAMPP)
c) En kodeditor (jeg bruker sublim tekst 3)
Trinn 1
Jeg går til htdocs -katalogen til Xampp og lager en ny mappe som jeg vil kalle "opplasting".

Inne i dette vil jeg lage en annen som heter "filer" og en ekstra som heter "php".

Steg 2
Nå i kodeditoren vil jeg lage en ny fil som jeg vil lagre som index.php som senere vil inneholde html -skjemaet for å laste opp filene.

Trinn 3
Jeg vil legge til online referanser til boostrap.

Trinn 4
Inne i kroppen vil jeg lage en, innenfor dette a

Trinn 5
Nå inneJeg legger til et bilhopp
en tittel medog jeg vil begynne å strukturere det lille skjemaet vårt for opplasting …

Du vil se at jeg har tilordnet etiketten "POST" -metoden, og i handlingen har vi lagt til et spørsmålstegn "?" som vil gjøre at når verdiene sendes tilbake, blir verdiene returnert til den samme siden, i tillegg har jeg lagt til et attributt som heter "encytipe" med verdien "multipart / form-data", dette som en generell regel bør brukes i alle skjemaer som sender filer.
Trinn 6
Siden vi har etiketten klar, kan vi legge til feltet vi trenger og en knapp som sender skjemaet til behandling.
For det vil vi legge til en etikettog den vil inneholde en inngangstype "fil" som har ansvaret for å fange filen vi vil laste opp …

Som du kan se, har vi tilordnet navnet "fil" og en klasse kalt "form-control", som tilhører bootstrap og tjener til å gi riktig avstand til tekstfeltene i et skjema. For sin del legger vi også til et "obligatorisk" attributt som forhindrer at skjemaet sendes inn hvis dette feltet er tomt.
Trinn 7
Senere vil vi legge til en etikett som en dekorasjon, som vil hjelpe oss med å tegne en linje som skiller den forrige inngangen fra knappen som skal sende skjemaet.

Trinn 8
Som du vil se like under etiketten, har vi plassert et input av typen "send" som vi legger til boostrap-klassene "btn btn-primær senterblokk", hvorav den første hjelper oss med å gi en mer attraktiv form til vår knappen, den andre plasserer den i hovedfargen på boostrap som er en intens blå og den tredje brukes til å plassere dette elementet med en sentrert justering, merk at vi har kalt denne knappen "opp".
Trinn 9
Vi har allerede vår html klar, så nå skal vi skrive noen linjer i php som skal stå for opplasting av filene våre, for dette skal vi lage en ny upload.php -fil som jeg vil lagre i "php" mappen som vi oppretter i trinn 2.
Trinn 10
Det første vi vil gjøre i php -filen vår er å validere om knappen har blitt trykket
"Last opp", og hvis "filen" -feltet ikke er tomt, for dette skriver vi følgende …

Trinn 11
Når dette er bekreftet, vil vi bruke en "foreach" -løkke for å få egenskapene til filen vi skal laste opp. Som vi nevnte tidligere, vil vi i dette tilfellet snakke om bilder i .jpg.webp eller .png.webp.

Trinn 12
Vi vil lage to variabler kalt "$ file" og "$ destination", den første vil inneholde filen vi laster opp, og den andre vil vi tildele banen hvor den skal lagres og navnet som den skal lagres med , som du kan forestille deg lagringsbanen Det vil være katalogen "filer" som har blitt opprettet i trinn 2, mens navnet den vil bli lagret med kommer fra $ FILES -matrisen som vi bygde i forrige trinn med foresken …

Trinn 13
Nå må vi validere at filen som lastes opp er i samsvar med parameterne vi ønsker, jeg har tidligere angitt at jeg vil laste opp bilder i .jpg.webp eller .png.webp, men dette er øyeblikket for å la den være definert i koden vår. Også som et personlig mål vil jeg at maksimal størrelse på bildene skal lastes opp til å være 2Mb, så jeg vil benytte anledningen til å angi det også, men likevel kan denne maksimale størrelsen ikke defineres i MB, så vi må konvertere den til byte …

Siden vi har etablert betingelsene for å kunne behandle filene, må vi nå definere hva vi skal gjøre med dem. I dette tilfellet vil jeg at disse filene skal kopieres til "filer" -mappen, men jeg vil også at banen til hver fil skal lagres i en database, slik at jeg senere kan lage en liste eller et galleri med disse filene.
Når det er sagt, må vi opprette en database, og i den en tabell med felt for å inneholde banen til hver fil, en tilkoblingsfil til databasen og selvfølgelig inkludere en SQL -setning i upload.php som setter inn banen til hver fil i databasen. Gå for det !.
Trinn 14
Med xampp aktiv går vi til nettleseren vår og skriver inn adressen "localhost / phpmyadmin" når vi har skrevet inn med brukernavnet og passordet vårt, fortsetter vi med å lage en ny database, jeg vil kalle den "opplasting" og tildele en treff "utf8_spanish_ci".

Trinn 15
Inne vil vi lage en tabell som jeg vil kalle "ruter" med bare 2 kolonner, en automatisk inkrementerings -ID og en annen kalt rute av typen varchar.


Vi har allerede databasen og tabellen vi trenger, men nå må vi koble til denne databasen, for dette vil jeg gå til kodeditoren min og opprette to nye filer og lagre dem som "config.php" og "connection.php" inne php -mappen som vi allerede har.


Trinn 16
Nå vil vi gå tilbake til filen "upload.php" og inkludere filen "connection.php" i filen

Trinn 17
Deretter legger vi til funksjonen slik at filen vi laster opp kopieres til "filer" -katalogen, og vi setter inn banen eller lenken til denne filen i databasen. Deretter kan vi legge til en bekreftelsesmelding hvis alt går bra og en advarsel hvis vi ikke laster opp riktig filtype eller den overskrider maksimal MB -grense.

Trinn 18
Vi kommer tilbake til filen "index.php", og etter den avsluttende taggen "" vil vi legge inn en inkludering i filen upload.php

Trinn 19
Vi har allerede koden vår klar, databasen er opprettet og tilkoblingen er konfigurert. La oss nå se hva resultatet er og sjekke om den fungerer som den skal.


Hjalp denne opplæringen deg?
Hvis ikkeHJELP FORBEDR DENNE VEILEDNINGEN!
Tror du at du kan korrigere eller forbedre denne opplæringen? Du kan sende utgaven din med endringene du anser som nyttige.0 brukere har redigert denne opplæringen. Rediger og bli en anerkjent ekspert!
Rediger denne opplæringen
LIKNE VEILEDNINGER
Lagre filer i BLOB -felt med PHP og MySQLGenerere PDF -filer med PHP
8 kommentarer

David sanz
29. aug 2015 23:34Jeg har elsket opplæringen, det er veldig interessant å vite hvordan du laster opp filer via PHP. Takk Ronny
- Rapportere

Ronny Bonillo
30.august 2015 00:50Velkommen david, jeg håper det er nyttig for deg … Hilsen …
- Rapportere

Ruben Gandia
03. sep 2015 18:45
Ronny, jeg brukte opplæringen din til å rette opp en feil jeg gjorde da jeg lastet opp filer via PHP. Jeg bare kobler til for å gi deg Takk skal du ha og at jeg også har merket deg Følg.
- Rapportere

Ronny Bonillo
03. sep 2015 18:47
Velkommen Ruben, takk for at du følger meg! Jeg er glad du synes det var nyttig …
- Rapportere

Diego Agudelo Jimenez
16. feb 2016 22:56
Utmerket hjelp
- Rapportere

Ronny Bonillo
Tir 02 2016 06:24;-)
- Rapportere

MartinPm
5. august 2016 20:16
Hva med Ronny, kan du hjelpe meg jeg får denne feilen …
Merknad: Udefinert indeks: fil i C: \ xampp \ htdocs \ upload \ php \ upload.php on line3
Advarsel: Ugyldig argument levert for foreach () inC: \ xampp \ htdocs \ upload \ php \ upload.php på linje 3
Merknad: Udefinert indeks: fil i C: \ xampp \ htdocs \ upload \ php \ upload.php på linje7
Merknad: Udefinert indeks: fil i C: \ xampp \ htdocs \ upload \ php \ upload.php på linje8
Merknad: Udefinert indeks: fil i C: \ xampp \ htdocs \ upload \ php \ upload.php på linje10
- Rapportere

josenumis
Des2021-202221-2022 17:23Hei, jeg har kopiert som den er, men endrer navnet på serveren osv. (Som ikke er lokalt), og den laster ikke opp filene eller gir meg en feil (den lar meg velge filen) hvis den ikke valgte den, forteller den meg til å velge det, men når jeg sender det til serveren, gjør det ingenting, kan noen sende meg kodene for å sjekke om det er noe galt)? Jeg synes alt er bra. Min e -post er [email protected] tusen takk.
- Rapportere
- Opprett kontoRegistrer deg GRATIS for å ha din Solvetic -kontoRegistrer en konto
- IdentifisereHar du allerede en konto? Logg deg på herIdentifiser meg på kontoen min
Informasjon
- Publisert 27. aug 2015 21:10
- Oppdatert 28.august 2015 08:21
- Besøk 15.8K
- NivåAvansert
Siste PHP -opplæringsprogrammer
- Slik installerer du pHpMyAdmin på Ubuntu 20.04
- Installer Laravel PHP Framework CentOS 8 med NGINX
- Installer og konfigurer OPcache for PHP -ytelse på CentOS 7
- Slik installerer du Laravel PHP Web Framework på CentOS