Kaip įkelti failus į žiniatinklio serverį naudojant php

Pristatymas.


Įkelti failus į žiniatinklio serverį; paprasta, kaip tai gali būti sunku? Žinoma, daugelis tai pasakys, tačiau tiems, kurie tik pradeda savo veiklą šiame pasaulyje, tikrai buvo įdomu, kaip tai daroma, aš tiesiog noriu prie jų patekti, taigi, jei pradedate naudotis PHP arba esate patyręs vartotojas, pametęs šį kodą ir Noriu dar kartą jį naudoti, rašykite, tada kviečiu jus toliau skaityti, nes šiame straipsnyje pasidalinsiu savo kodu, kad galėčiau greitai ir lengvai įkelti failus, tam naudosiu HTML5, PHP ir pridėsiu patrauklų prisilietimą su boostrap. Šiuo atveju paaiškinsiu, kaip įkelti .jpg.webp arba .png.webp vaizdus, ​​tačiau su minimaliais pakeitimais, jei norite, galite įkelti dokumentus, garso įrašus ir net vaizdo įrašus.
Ko mums reikia?a) Kompiuteris
b) Vietinis serveris, skirtas duomenų bazei išbandyti ir pasiekti (naudoju XAMPP)
c) Kodo redaktorius (naudosiu didingą tekstą 3)

1 žingsnis


Einu į „Xampp“ katalogą „htdocs“ ir sukuriu naują aplanką, kurį vadinsiu „įkėlimu“.
DIDELIS
Viduje aš sukursiu kitą, vadinamą „failais“, ir papildomą, vadinamą „php“.
DIDELIS

2 žingsnis


Dabar kodo redaktoriuje sukursiu naują failą, kurį išsaugosiu kaip index.php, kuriame vėliau bus html forma failams įkelti.
DIDELIS

3 žingsnis


Prie „boostrap“ pridėsiu internetines nuorodas.
DIDELIS

4 žingsnis


Kūno viduje aš sukursiu a, šioje a

DIDELIS

5 žingsnis


Dabar vidujePridėsiu automobilio šuolį
titulas suir aš pradėsiu kurti mažą įkėlimo formą …
DIDELIS
Pamatysite, kad etiketėje priskyriau „POST“ metodą ir veiksme pridėjome klaustuką „?“ todėl siunčiant formą jo vertės bus grąžintos į tą patį puslapį, be to, pridėjau atributą, pavadintą „encytipe“, kurio vertė yra „multipart / form-data“; tai paprastai turėtų būti naudojama visuose formas, kurios siunčia failus.

6 žingsnis


Kadangi etiketė yra paruošta, galime pridėti mums reikalingą lauką ir mygtuką, kuris nusiųs formą apdoroti.
Norėdami tai padaryti, pridėsime etiketęir jame bus įvesties tipas „failas“, kuris bus atsakingas už norimo įkelti failo užfiksavimą …
DIDELIS
Kaip matote, mes priskyrėme pavadinimą „failas“ ir klasę, pavadintą „formos valdymas“, kuri priklauso įkrovos sistemai ir skirta teisingai išdėstyti formos teksto laukus. Savo ruožtu mes taip pat pridedame „privalomą“ atributą, kuris neleis pateikti formos, jei šis laukas tuščias.

7 žingsnis


Vėliau kaip dekoraciją pridėsime etiketę, kuri padės nubrėžti liniją, skiriančią ankstesnį įvestį nuo formos siuntimo mygtuko.
DIDELIS

8 žingsnis


Kaip matysite tiesiai po etikete, mes įdėjome įvesties tipą „pateikti“, prie kurio pridėjome „boostrap“ klases „btn btn-pirminis centras-blokas“, iš kurių pirmoji padeda mums suteikti patrauklesnę formą mygtuką, antrasis jį įterpia į pagrindinę „boostrap“ spalvą, kuri yra intensyviai mėlyna, o trečiasis naudojamas šiam elementui sucentruoti, atkreipkite dėmesį, kad šį mygtuką pavadinome „aukštyn“.

9 veiksmas


Mes jau paruošėme savo html, todėl dabar rašysime keletą eilučių php, kurios bus atsakingos už mūsų failų įkėlimą, tam mes sukursime naują failą upload.php, kurį išsaugosiu „php“ aplanką, kurį sukuriame atlikdami 2 veiksmą.

10 žingsnis


Pirmas dalykas, kurį mes padarysime savo php faile, yra patikrinti, ar mygtukas buvo paspaustas
„Įkelti“ ir jei laukas „failas“ nėra tuščias, tam parašysime taip …
DIDELIS

11 žingsnis


Kai tai bus patvirtinta, mes naudosime ciklą „foreach“, kad gautume failo, kurį ketiname įkelti, ypatybes. Kaip minėjome anksčiau, šiuo atveju kalbėsime apie vaizdus .jpg.webp arba .png.webp formatu.
DIDELIS

12 žingsnis


Mes sukursime 2 kintamuosius, vadinamus „$ file“ ir „$ destination“, pirmame bus failas, kurį įkeliame, o antrajame priskirsime kelią, kuriame jis bus išsaugotas, ir pavadinimą, kuriuo jis bus saugomas , kaip galite įsivaizduoti saugojimo kelią Tai bus katalogas „failai“, kuris buvo sukurtas 2 veiksme, o pavadinimas, su kuriuo jis bus saugomas, bus iš $ FILES masyvo, kurį sukūrėme ankstesniame žingsnyje su „foreach“ …
DIDELIS

13 žingsnis


Dabar turime patvirtinti, kad įkeliamas failas atitinka norimus parametrus. Anksčiau nurodžiau, kad noriu įkelti vaizdus .jpg.webp arba .png.webp formatu, tačiau tai yra momentas palikti jį apibrėžtą mūsų kode. Taip pat kaip asmeninę priemonę noriu, kad maksimalus įkeliamų vaizdų dydis būtų 2 MB, todėl pasinaudosiu galimybe ir jį nurodyti, tačiau vis dėlto šio maksimalaus dydžio negalima apibrėžti MB, todėl turėsime jį konvertuoti į baitų …
DIDELIS
Kadangi sukūrėme sąlygas apdoroti failus, dabar turime apibrėžti, ką su jais darysime. Šiuo atveju noriu, kad šie failai būtų nukopijuoti į aplanką „failai“, bet taip pat noriu, kad kiekvieno failo kelias būtų išsaugotas duomenų bazėje, kad vėliau galėčiau sudaryti sąrašą ar galeriją su tais failais.
Tai reiškia, kad turėsime sukurti duomenų bazę ir joje lentelę su laukais, kuriuose yra kiekvieno failo kelias, prisijungimo failas prie tos duomenų bazės ir, žinoma, į mūsų upload.php įtraukti SQL sakinį, įterpiantį kiekvieno failo kelią duomenų bazėje. Pirmyn!.

14 žingsnis


Kai „xampp“ yra aktyvus, mes einame į savo naršyklę ir įvedame adresą „localhost / phpmyadmin“, kai įvedame naudodami savo vartotojo vardą ir slaptažodį, toliau kursime naują duomenų bazę, pavadinsiu ją „įkėlimu“ ir priskirsiu atitikmenį „utf8_spanish_ci“.
DIDELIS

15 žingsnis


Viduje mes sukursime lentelę, kurią pavadinsiu „maršrutais“, kurioje bus tik 2 stulpeliai, automatiškai didėjantis ID ir kitas vadinamas varchar tipo maršrutas.
DIDELIS
DIDELIS
Mes jau turime duomenų bazę ir lentelę, kurios mums reikia, bet dabar turime prisijungti prie šios duomenų bazės, tam aš eisiu į savo kodų redaktorių ir sukursiu 2 naujus failus ir išsaugosiu juos kaip „config.php“ ir „connection.php“ viduje aplanką php, kurį jau turime.
DIDELIS
DIDELIS

16 žingsnis


Dabar grįšime į failą „upload.php“ ir į jį įtraukime failą „connection.php“
DIDELIS

17 žingsnis


Tada pridėsime funkciją, kad įkeliamas failas būtų nukopijuotas į „files“ katalogą ir į duomenų bazę įterpsime kelią arba nuorodą į šį failą. Tada galime pridėti patvirtinimo pranešimą, jei viskas gerai, ir įspėjamąjį pranešimą, jei neįkeliame tinkamo failo tipo arba jis viršija didžiausią MB limitą.
DIDELIS

18 žingsnis


Mes grįšime į savo failą „index.php“ ir po uždarymo žymos „“ įdėsime įtraukimą į failą upload.php
DIDELIS

19 žingsnis


Mes jau paruošėme savo kodą, duomenų bazė buvo sukurta ir ryšys sukonfigūruotas, dabar pažiūrėkime, koks yra rezultatas, ir patikrinkime, ar jis veikia tinkamai.
Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką

Ar ši pamoka jums padėjo?

Jei ne

PADĖKITE TOBULINTI PAMOKĄ!

Ar manote, kad galite pataisyti ar patobulinti šią mokymo programą? Galite išsiųsti leidimą su pakeitimais, kurie, jūsų nuomone, yra naudingi.
0 vartotojų redagavo šią mokymo programą. Redaguokite ir tapkite pripažinta eksperte!
Redaguokite šią mokymo programą

PANAŠŪS PAMOKOS


Saugokite failus BLOB laukuose naudodami PHP ir MySQLPDF failų generavimas naudojant PHP

8 komentarai


Davidas Sanzas
2015 m. Rugpjūčio 29 d. 23:34Man patiko pamoka, labai įdomu žinoti, kaip įkelti failus per PHP. Ačiū Ronny
  • Ataskaita

Ronny Bonillo
2015 m. Rugpjūčio 30 d. 00:50Sveiki, Dovydai, tikiuosi, kad tai tau naudinga … Sveikinu …
  • Ataskaita

Rubenas Gandia
2015 m. Rugsėjo 03 d. 18:45

Ronny, aš panaudojau tavo pamoką, kad ištaisyčiau klaidą, kurią padariau įkeldamas failus per PHP. Aš tiesiog prisijungiu, kad galėčiau jums duoti Ačiū ir kad aš taip pat pažymėjau tave Sekite.

  • Ataskaita

Ronny Bonillo
2015 rugsėjo 03 18:47

Sveiki, Ruben, ačiū, kad sekate mane! Džiaugiuosi, kad jums tai buvo naudinga …

  • Ataskaita

Diego Agudelo Jimenez
2016 m. Vasario 16 d. 22:56

Puiki pagalba

  • Ataskaita

Ronny Bonillo
2016 02 02 06:24;-)
  • Ataskaita

MartinPm
2016 m. Rugpjūčio 05 d. 20:16

Kaip apie Ronny, ar galite man padėti gauti šią klaidą …

Pastaba: neapibrėžtas indeksas: failas C: \ xampp \ htdocs \ upload \ php \ upload.php 3 eilutėje
Įspėjimas: neteisingas argumentas pateiktas foreach () inC: \ xampp \ htdocs \ upload \ php \ upload.php 3 eilutėje
Pastaba: neapibrėžtas indeksas: failas C: \ xampp \ htdocs \ upload \ php \ upload.php 7 eilutėje
Pastaba: neapibrėžtas indeksas: failas C: \ xampp \ htdocs \ upload \ php \ upload.php 8 eilutėje
Pastaba: neapibrėžtas indeksas: failas C: \ xampp \ htdocs \ upload \ php \ upload.php 10 eilutėje

  • Ataskaita

josenumis
Gruodžio 2021-202221-2022 17:23Sveiki, nukopijavau tokį, koks yra, bet pakeičiu serverio pavadinimą ir tt (kuris nėra vietinis) ir jis neįkelia failų arba nepateikia klaidos (tai leidžia man pasirinkti failą), jei jis nepasirinko, tai sako man jį pasirinkti, bet kai siunčiu jį į serverį, jis nieko nedaro, ar kas nors gali atsiųsti man kodus, kad patikrintų, ar kažkas negerai)? Manau viskas gerai. Mano el. Paštas yra [email protected], labai ačiū.
  • Ataskaita
Nelaukite ilgiau ir įeikite į „Solvetic“Palikite savo komentarus ir pasinaudokite vartotojo abonementu Prisijunkite prie mūsų!
  • Sukurti paskyrąUžsiregistruokite NEMOKAMAI, kad gautumėte „Solvetic“ paskyrąUžregistruokite paskyrą
  • NustatykiteAr jau turite paskyrą? Prisijunk čiaNustatykite mane savo paskyroje

    Informacija

    • Paskelbta 2015 m. Rugpjūčio 27 d. 21:10
    • Atnaujinta 2015 m. Rugpjūčio 28 d. 08:21
    • Apsilankymai 15,8 tūkst
    • LygisIšplėstinė

    Naujausios PHP pamokos
    • Kaip įdiegti „pHpMyAdmin“ „Ubuntu 20.04“
    • Įdiekite „Laravel PHP Framework CentOS 8“ su „NGINX“
    • Įdiekite ir sukonfigūruokite „OPcache“ PHP veikimui „CentOS 7“
    • Kaip įdiegti „Laravel PHP Web Framework“ sistemoje „CentOS“
    Žiūrėti daugiau PHP
    wave wave wave wave wave