Presentation.
Ladda upp filer till en webbserver; enkelt, hur svårt kan det vara? Visst kommer många att säga det, men de som precis har börjat i den här världen har säkert undrat hur det görs, jag vill bara komma till dem, så om du börjar i PHP eller är en avancerad användare som tappat den här koden och inte gör det vill använda den igen skriva, då inbjuder jag dig att fortsätta läsa, för i den här artikeln kommer jag att dela min kod för att ladda upp filer snabbt och enkelt, för detta kommer jag att använda HTML5, PHP och jag kommer att lägga till en attraktiv touch med boostrap. I det här fallet kommer jag att förklara hur du laddar upp .jpg.webp- eller .png.webp -bilder, men med minimala ändringar kan du ladda upp dokument, ljud och till och med video om du vill.
Vad behöver vi?a) En dator
b) En lokal server för att testa och komma åt databasen (jag använder XAMPP)
c) En kodredigerare (jag använder sublim text 3)
Steg 1
Jag går till htdocs -katalogen för Xampp och skapar en ny mapp som jag kommer att kalla "ladda upp".
FÖRSTORA
Inuti detta kommer jag att skapa en annan som heter "filer" och ytterligare en som heter "php".
FÖRSTORA
Steg 2
Nu i kodredigeraren kommer jag att skapa en ny fil som jag kommer att spara som index.php som senare kommer att innehålla html -formuläret för att ladda upp filerna.
FÖRSTORA
Steg 3
Jag lägger till online -referenser till boostrap.
FÖRSTORA
Steg 4
Inuti kroppen ska jag skapa en, inom detta a
FÖRSTORA
Steg 5
Nu inneJag lägger till ett bilhopp
en titel medoch jag kommer att börja strukturera vår lilla form för uppladdning …
FÖRSTORA
Du kommer att se att jag har tilldelat etiketten "POST" -metoden och i åtgärden har vi lagt till ett frågetecken "?" vilket kommer att göra att när värdena skickas tillbaka dess värden till samma sida, dessutom har jag lagt till ett attribut som heter "encytipe" med värdet "multipart / form-data" detta som en allmän regel bör användas i alla formulär som skickar filer.
Steg 6
Eftersom vi har etiketten klar kan vi lägga till det fält vi behöver och en knapp som skickar formuläret som ska bearbetas.
För det kommer vi att lägga till en etikettoch den kommer att innehålla en inmatningstyp "fil" som kommer att ansvara för att fånga filen som vi vill ladda upp …
FÖRSTORA
Som du kan se har vi tilldelat namnet "fil" och en klass som kallas "formulärkontroll", som tillhör bootstrap och tjänar till att ge rätt avstånd till textfälten i ett formulär. För sin del lägger vi också till ett "obligatoriskt" attribut som förhindrar att formuläret skickas om det här fältet är tomt.
Steg 7
Senare kommer vi att lägga till en etikett som en dekoration, som hjälper oss att rita en linje som skiljer den tidigare ingången från knappen som skickar formuläret.
FÖRSTORA
Steg 8
Som du ser strax under etiketten har vi placerat en ingång av typen "skicka" till vilken vi lägger till boostrap-klasserna "btn btn-primär center-block", varav den första hjälper oss att ge en mer attraktiv form till vår knappen, den andra placerar den i den primära färgen på boostrap som är intensivt blå och den tredje används för att placera detta element med en centrerad justering, observera att vi har kallat den här knappen "upp".
Steg 9
Vi har redan vår html redo, så nu ska vi skriva några rader i php som kommer att ansvara för att ladda upp våra filer, för detta kommer vi att skapa en ny upload.php -fil som jag kommer att spara i "php" mapp som vi skapar i steg 2.
Steg 10
Det första vi kommer att göra i vår php -fil är att validera om knappen har tryckts in
"Ladda upp" och om "fil" -fältet inte är tomt, för detta kommer vi att skriva följande …
FÖRSTORA
Steg 11
När detta är verifierat kommer vi att använda en "foreach" -slinga för att få egenskaperna för filen som vi ska ladda upp. Som vi nämnde tidigare kommer vi i det här fallet att prata om bilder i .jpg.webp eller .png.webp.
FÖRSTORA
Steg 12
Vi kommer att skapa två variabler som heter "$ file" och "$ destination", den första innehåller filen som vi laddar upp och den andra tilldelar vi sökvägen där den ska sparas och namnet som den kommer att lagras med , som du kan föreställa dig lagringsvägen Det kommer att vara katalog "filer" som har skapats i steg 2, medan namnet som det kommer att lagras kommer från $ FILES -matrisen som vi byggde i föregående steg med foreach …
FÖRSTORA
Steg 13
Nu måste vi bekräfta att filen som laddas upp överensstämmer med de parametrar vi vill ha, jag har tidigare angett att jag vill ladda upp bilder i .jpg.webp eller .png.webp, men det här är tillfället att lämna den definierad i vår kod. Som ett personligt mått vill jag också att den maximala storleken på bilderna ska laddas upp till 2Mb, så jag ska passa på att ange det också, men ändå kan denna maxstorlek inte definieras i MB så vi måste konvertera den till byte …
FÖRSTORA
Eftersom vi har fastställt förutsättningarna för att kunna bearbeta filerna, måste vi nu definiera vad vi ska göra med dem. I det här fallet vill jag att dessa filer ska kopieras till mappen "filer" men jag vill också att sökvägen till varje fil ska lagras i en databas så att jag senare kan skapa en lista eller ett galleri med dessa filer.
Som sagt, vi kommer att behöva skapa en databas, och i den en tabell med fält för att innehålla sökvägen till varje fil, en anslutningsfil till den databasen och naturligtvis inkludera i vår upload.php en SQL -sats som infogar sökvägen till varje fil i databasen. Gör det!.
Steg 14
Med xampp aktivt går vi till vår webbläsare och anger adressen "localhost / phpmyadmin" när vi har angett med vårt användarnamn och lösenord fortsätter vi med att skapa en ny databas, jag kallar den "upload" och tilldelar en matchning "utf8_spanish_ci".
FÖRSTORA
Steg 15
Inuti kommer vi att skapa en tabell som jag kommer att kalla "rutter" med bara 2 kolumner, ett automatiskt inkrementerings -id och en annan som kallas rutt av typen varchar.
FÖRSTORA
FÖRSTORA
Vi har redan databasen och tabellen vi behöver men nu måste vi ansluta till denna databas, för detta går jag till min kodredigerare och skapar två nya filer och sparar dem som "config.php" och "connection.php" inuti php -mappen som vi redan har.
FÖRSTORA
FÖRSTORA
Steg 16
Nu kommer vi tillbaka till vår fil "upload.php" och inkluderar filen "connection.php" i den
FÖRSTORA
Steg 17
Sedan lägger vi till funktionen så att filen som vi laddar upp kopieras till "filer" -katalogen och vi sätter in sökvägen eller länken till den här filen i databasen. Sedan kan vi lägga till ett bekräftelsemeddelande om allt går bra och ett varningsmeddelande om vi inte laddar upp rätt filtyp eller överskrider den maximala MB -gränsen.
FÖRSTORA
Steg 18
Vi återgår till vår fil "index.php" och efter stängningstaggen "" kommer vi att lägga till en inkludering till filen upload.php
FÖRSTORA
Steg 19
Vi har redan vår kod klar, databasen har skapats och anslutningen är konfigurerad, låt oss nu se vad resultatet är och kontrollera om det fungerar korrekt.
Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng
Hjälpte denna handledning dig?
Om inteHJÄLP FÖRBÄTTRA DENNA HANDBOK!
Tror du att du kan korrigera eller förbättra den här självstudien? Du kan skicka din utgåva med de ändringar som du anser vara användbara.0 användare har redigerat den här självstudien. Redigera och bli en erkänd expert!
Redigera denna handledning
Liknande handledning
Lagra filer i BLOB -fält med PHP och MySQLGenerera PDF -filer med PHP
8 kommentarer
David sanz
29 aug 2015 23:34Jag har älskat handledningen, det är mycket intressant att veta hur man laddar upp filer via PHP. Tack Ronny
- Rapportera
Ronny Bonillo
30 aug 2015 00:50Du är välkommen david, jag hoppas att det är användbart för dig … Hälsningar …
- Rapportera
Ruben Gandia
03 sep 2015 18:45
Ronny, jag använde din handledning för att rätta till ett fel som jag gjorde när jag laddade upp filer via PHP. Jag ansluter bara för att ge dig Tack och att jag också har markerat dig Följ.
- Rapportera
Ronny Bonillo
03 sep 2015 18:47
Du är välkommen Ruben, tack för att du följer mig! Jag är glad att du tyckte att det var användbart …
- Rapportera
Diego Agudelo Jimenez
16 feb 2016 22:56
Utmärkt hjälp
- Rapportera
Ronny Bonillo
Tis 02 2016 06:24;-)
- Rapportera
MartinPm
05 aug 2016 20:16
Vad sägs om Ronny, kan du hjälpa mig jag får det här felet …
Observera: Odefinierat index: fil i C: \ xampp \ htdocs \ upload \ php \ upload.php on line3
Varning: Ogiltigt argument tillhandahålls för foreach () inC: \ xampp \ htdocs \ upload \ php \ upload.php på rad 3
Observera: Odefinierat index: fil i C: \ xampp \ htdocs \ upload \ php \ upload.php på rad7
Observera: Odefinierat index: fil i C: \ xampp \ htdocs \ upload \ php \ upload.php på rad8
Observera: Odefinierat index: fil i C: \ xampp \ htdocs \ upload \ php \ upload.php på rad10
- Rapportera
josenumis
Dec2021-202221-2022 17:23Hej, jag har kopierat som det är men ändrar namnet på servern etc (vilket inte är lokalt) och det laddar inte upp filerna eller ger mig ett fel (det låter mig välja filen) om det inte valde det, det berättar mig att välja det men när jag skickar det till servern gör det ingenting kan någon skicka mig koderna för att kontrollera om det är något fel)? Jag tycker att allt är bra. Min mejl är [email protected] tack så mycket.
- Rapportera
- Skapa kontoRegistrera dig GRATIS för att få ditt Solvetic -kontoRegistrera ett konto
- IdentifieraHar du redan ett konto? Logga in härIdentifiera mig på mitt konto
Information
- Publicerad 27 aug 2015 21:10
- Uppdaterad 28 aug 2015 08:21
- Besök 15.8K
- NivåAvancerad
Senaste PHP -självstudier
- Så här installerar du pHpMyAdmin på Ubuntu 20.04
- Installera Laravel PHP Framework CentOS 8 med NGINX
- Installera och konfigurera OPcache för PHP -prestanda på CentOS 7
- Så här installerar du Laravel PHP Web Framework på CentOS