Hvordan laste opp filer til en webserver med php

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".
FORSTØRRE
Inne i dette vil jeg lage en annen som heter "filer" og en ekstra som heter "php".
FORSTØRRE

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.
FORSTØRRE

Trinn 3


Jeg vil legge til online referanser til boostrap.
FORSTØRRE

Trinn 4


Inne i kroppen vil jeg lage en, innenfor dette a

FORSTØRRE

Trinn 5


Nå inneJeg legger til et bilhopp
en tittel medog jeg vil begynne å strukturere det lille skjemaet vårt for opplasting …
FORSTØRRE
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 …
FORSTØRRE
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.
FORSTØRRE

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 …
FORSTØRRE

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.
FORSTØRRE

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 …
FORSTØRRE

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 …
FORSTØRRE
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".
FORSTØRRE

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.
FORSTØRRE
FORSTØRRE
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.
FORSTØRRE
FORSTØRRE

Trinn 16


Nå vil vi gå tilbake til filen "upload.php" og inkludere filen "connection.php" i filen
FORSTØRRE

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.
FORSTØRRE

Trinn 18


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

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.
Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng

Hjalp denne opplæringen deg?

Hvis ikke

HJELP 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
Ikke vent lenger og gå inn på SolveticLegg igjen kommentarene dine og dra nytte av brukerkontoen Bli med!
  • 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
    Se mer av PHP
    wave wave wave wave wave