Bestanden uploaden naar een webserver met php

Presentatie.


Upload bestanden naar een webserver; simpel, hoe moeilijk kan het zijn? Natuurlijk zullen velen het zeggen, maar degenen die net in deze wereld zijn begonnen, hebben zich zeker afgevraagd hoe het wordt gedaan, ik wil ze gewoon bereiken, dus als je begint in PHP of een gevorderde gebruiker bent die deze code is kwijtgeraakt en niet wil je het opnieuw gebruiken, dan nodig ik je uit om verder te lezen, want in dit artikel zal ik mijn code delen om bestanden snel en gemakkelijk te uploaden, hiervoor zal ik HTML5, PHP gebruiken en ik zal een aantrekkelijk tintje toevoegen met boostrap. In dit geval zal ik uitleggen hoe je .jpg.webp- of .png.webp-afbeeldingen uploadt, maar met minimale wijzigingen kun je desgewenst documenten, audio en zelfs video uploaden.
Wat hebben we nodig?a) Een computer
b) Een lokale server om de database te testen en te openen (ik gebruik XAMPP)
c) Een code-editor (ik gebruik sublieme tekst 3)

Stap 1


Ik ga naar de htdocs-directory van Xampp en maak een nieuwe map aan die ik "upload" zal noemen.
VERGROTEN
Hierbinnen zal ik een andere genaamd "bestanden" maken en een extra genaamd "php".
VERGROTEN

Stap 2


Nu zal ik in de code-editor een nieuw bestand maken dat ik zal opslaan als index.php, dat later het html-formulier zal bevatten om de bestanden te uploaden.
VERGROTEN

Stap 3


Ik zal de online referenties toevoegen aan boostrap.
VERGROTEN

Stap 4


In het lichaam zal ik een creëren, binnen deze a

VERGROTEN

Stap 5


Nu binnenIk zal een autosprong toevoegen
een titel meten ik zal beginnen met het structureren van ons kleine formulier voor de upload …
VERGROTEN
U zult zien dat ik de "POST"-methode aan het label heb toegewezen en in de actie hebben we een vraagteken "?" wat ervoor zorgt dat bij het verzenden van het formulier de waarden worden geretourneerd naar dezelfde pagina, daarnaast heb ik een attribuut toegevoegd met de naam "encytipe" met de waarde "multipart / form-data" dit als algemene regel moet worden gebruikt in alle formulieren die bestanden verzenden.

Stap 6


Omdat we het label klaar hebben, kunnen we het veld toevoegen dat we nodig hebben en een knop die het formulier verzendt om te worden verwerkt.
Daarvoor voegen we een label toeen het zal een invoertype "bestand" bevatten dat verantwoordelijk is voor het vastleggen van het bestand dat we willen uploaden …
VERGROTEN
Zoals je kunt zien, hebben we de naam "file" en een klasse genaamd "form-control" toegewezen, die bij bootstrap hoort en dient om de juiste spatiëring te geven aan de tekstvelden in een formulier. Van zijn kant voegen we ook een "verplicht" attribuut toe dat voorkomt dat het formulier wordt ingediend als dit veld leeg is.

Stap 7


Later zullen we een label toevoegen als decoratie, wat ons zal helpen een lijn te trekken die de vorige invoer scheidt van de knop die het formulier zal verzenden.
VERGROTEN

Stap 8


Zoals je net onder het label zult zien, hebben we een invoer van het type "submit" geplaatst waaraan we de boostrap-klassen "btn btn-primary center-block" toevoegen, waarvan de eerste ons helpt om een ​​aantrekkelijker vorm te geven aan onze knop, de tweede plaatst het in de primaire kleur van boostrap die intens blauw is en de derde wordt gebruikt om dit element gecentreerd te plaatsen, merk op dat we deze knop "omhoog" hebben genoemd.

Stap 9


We hebben onze html al klaar, dus nu gaan we enkele regels in php schrijven die verantwoordelijk zijn voor het uploaden van onze bestanden, hiervoor gaan we een nieuw upload.php-bestand maken dat ik zal opslaan in de "php" map die we in stap 2 maken.

Stap 10


Het eerste dat we in ons php-bestand zullen doen, is valideren of de knop is ingedrukt
"Upload" en als het veld "file" niet leeg is, zullen we hiervoor het volgende schrijven …
VERGROTEN

Stap 11


Zodra dit is geverifieerd, zullen we een "foreach"-lus gebruiken om de eigenschappen van het bestand dat we gaan uploaden te verkrijgen. Zoals eerder vermeld, zullen we in dit geval praten over afbeeldingen in .jpg.webp of .png.webp.
VERGROTEN

Stap 12


We zullen 2 variabelen maken genaamd "$ bestand" en "$ bestemming", de eerste zal het bestand bevatten dat we uploaden en de tweede zullen we het pad toewijzen waar het zal worden opgeslagen en de naam waarmee het zal worden opgeslagen , zoals je je het opslagpad kunt voorstellen. Het zal de map "bestanden" zijn die in stap 2 is gemaakt, terwijl de naam waarmee het wordt opgeslagen, afkomstig zal zijn van de $ FILES-array die we in de vorige stap hebben gebouwd met de foreach …
VERGROTEN

Stap 13


Nu moeten we valideren dat het bestand dat wordt geüpload voldoet aan de parameters die we willen, ik heb eerder aangegeven dat ik afbeeldingen in .jpg.webp of .png.webp wil uploaden, maar dit is het moment om het in onze code gedefinieerd te laten. Ook als persoonlijke maatregel wil ik dat de maximale grootte van de afbeeldingen die worden geüpload 2Mb is, dus ik zal van de gelegenheid gebruik maken om dit ook aan te geven, maar desalniettemin kan deze maximale grootte niet in MB worden gedefinieerd, dus we zullen deze moeten converteren naar bytes …
VERGROTEN
Aangezien we de voorwaarden hebben vastgesteld om de bestanden te kunnen verwerken, moeten we nu definiëren wat we ermee gaan doen. In dit geval wil ik dat deze bestanden naar de map "bestanden" worden gekopieerd, maar ik wil ook dat het pad naar elk bestand in een database wordt opgeslagen, zodat ik later een lijst of een galerij met die bestanden kan maken.
Dat gezegd hebbende, moeten we een database maken, en daarin een tabel met velden om het pad van elk bestand te bevatten, een verbindingsbestand naar die database en natuurlijk een SQL-instructie opnemen in onze upload.php die het pad van elk bestand invoegt binnen de databank. Ga ervoor!.

Stap 14


Met xampp actief gaan we naar onze browser en voeren het adres "localhost / phpmyadmin" in zodra we onze gebruikersnaam en wachtwoord invoeren, zullen we doorgaan met het maken van een nieuwe database, ik zal het "uploaden" noemen en een match toewijzen "utf8_spanish_ci" .
VERGROTEN

Stap 15


Binnen zullen we een tabel maken die ik "routes" zal noemen met slechts 2 kolommen, een automatisch oplopende ID en een andere genaamd route van het type varchar.
VERGROTEN
VERGROTEN
We hebben al de database en de tabel die we nodig hebben, maar nu moeten we verbinding maken met deze database, hiervoor ga ik naar mijn code-editor en maak 2 nieuwe bestanden aan en sla ze op als "config.php" en "connection.php" erin de php-map die we al hebben.
VERGROTEN
VERGROTEN

Stap 16


Nu zullen we terugkeren naar ons bestand "upload.php" en daarin het bestand "connection.php" opnemen
VERGROTEN

Stap 17


Vervolgens zullen we de functie toevoegen zodat het bestand dat we uploaden wordt gekopieerd naar de map "bestanden" en we zullen het pad of de link naar dit bestand in de database invoegen. Dan kunnen we een bevestigingsbericht toevoegen als alles goed gaat en een waarschuwingsbericht voor het geval we niet het juiste bestandstype uploaden of als het de maximale MB-limiet overschrijdt.
VERGROTEN

Stap 18


We keren terug naar ons bestand "index.php" en na de afsluitende tag "" plaatsen we een include in het bestand upload.php
VERGROTEN

Stap 19


We hebben onze code al klaar, de database is gemaakt en de verbinding is geconfigureerd, laten we nu eens kijken wat het resultaat is en controleren of het correct werkt.
Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven

Heeft deze tutorial je geholpen?

Als niet

HELP DEZE TUTORIAL TE VERBETEREN!

Denk je dat je deze tutorial kunt corrigeren of verbeteren? U kunt uw editie opsturen met de wijzigingen die u nuttig acht.
0 gebruikers hebben deze tutorial bewerkt. Bewerk en word een erkende expert!
Deze zelfstudie bewerken

VERGELIJKBARE TUTORIALS


Bewaar bestanden in BLOB-velden met PHP en MySQLPDF-bestanden genereren met PHP

8 Reacties


David sanzo
29 aug. 2015 23:34Ik heb genoten van de tutorial, het is erg interessant om te weten hoe je bestanden uploadt via PHP. Bedankt Ronny
  • Rapport

Ronny Bonillo
30 aug. 2015 00:50Graag gedaan David, ik hoop dat het nuttig voor je is … Groeten …
  • Rapport

Ruben Gandia
03 sep 2015 18:45

Ronny, ik heb je tutorial gebruikt om een ​​fout te corrigeren die ik maakte bij het uploaden van bestanden via PHP. Ik maak gewoon verbinding om je de . te geven Bedankt en dat ik je ook heb gemarkeerd Volgen.

  • Rapport

Ronny Bonillo
03 sep 2015 18:47

Graag gedaan Ruben, bedankt voor het volgen! Ik ben blij dat je het nuttig vond…

  • Rapport

Diego Agudelo Jimenez
16 februari 2016 22:56

Uitstekende hulp

  • Rapport

Ronny Bonillo
di 02 2016 06:24;-)
  • Rapport

MartinPm
Augustus 05 2016 20:16

Hoe zit het met Ronny, kun je me helpen ik krijg deze foutmelding …

Opmerking: Undefined index: bestand in C: \ xampp \ htdocs \ upload \ php \ upload.php on line3
Waarschuwing: Ongeldig argument opgegeven voor foreach () inC: \ xampp \ htdocs \ upload \ php \ upload.php op regel 3
Opmerking: Undefined index: bestand in C: \ xampp \ htdocs \ upload \ php \ upload.php op regel7
Opmerking: Undefined index: bestand in C: \ xampp \ htdocs \ upload \ php \ upload.php op regel8
Opmerking: Undefined index: bestand in C: \ xampp \ htdocs \ upload \ php \ upload.php on line10

  • Rapport

josenumis
december2021-202221-2022 17:23Hallo, ik heb gekopieerd zoals het is, maar ik verander de naam van de server enz. (wat niet lokaal is) en het uploadt de bestanden niet of geeft me een fout (het laat me het bestand selecteren) als het het niet heeft geselecteerd, vertelt het mij om het te selecteren, maar wanneer ik het naar de server stuur, doet het niets kan iemand mij de codes sturen om te controleren of er iets mis is)? Ik denk dat alles in orde is. Mijn e-mail is [email protected] heel erg bedankt.
  • Rapport
Wacht niet langer en ga naar SolveticLaat uw opmerkingen achter en profiteer van het gebruikersaccount Doe mee!
  • Maak accountMeld u GRATIS aan om uw Solvetic-account te hebbenRegistreer een account
  • IdentificerenHeeft u al een account? Meld je hier aanIdentificeer mij in mijn account

    Informatie

    • gepubliceerd 27 aug. 2015 21:10
    • Bijgewerkt 28 aug. 2015 08:21
    • bezoeken 15,8K
    • NiveauGeavanceerd

    Laatste PHP-zelfstudies
    • Hoe pHpMyAdmin te installeren op Ubuntu 20.04
    • Installeer Laravel PHP Framework CentOS 8 met NGINX
    • Installeer en configureer OPcache voor PHP-prestaties op CentOS 7
    • Laravel PHP Web Framework installeren op CentOS
    Zie meer van PHP

    U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

    wave wave wave wave wave