laravel session file upload download
Deze tutorial behandelt Laravel Session, bestandsupload, download, bestandsrechten, Laravel-authenticatie en autorisatie, het verzenden van e-mails, enz. Met voorbeelden:
In de Laravel-formulieren en validatieregels tutorial van de Laravel Tutorial-serie hebben we met voorbeelden over verschillende formulierelementen geleerd.
Verderop in deze tutorial hebben we ook besproken hoe set, haal, verwijder sessiegegevens onder Laravel-sessies en hoe e-mails kunnen worden verzonden via Mailtrap in detail.
Voor alle voorbeelden hebben we gebruikt Laravel versie 7
Vereisten
In onze vorige tutorials hebben we behandeld basiskenmerken van Laravel database afhandeling, en formulierafhandeling , en je moet bekend zijn met die onderwerpen voor een beter begrip van deze tutorial.
Laten we beginnen!
Wat je leert:
- Laravel-bestand uploaden
- Laravel-sessie
- Laravel-verificatie
- Laravel Autorisatie
- E-mails verzenden in Laravel
- Gevolgtrekking
Laravel-bestand uploaden
Bestanden uploaden in Laravel is eenvoudig. De ontwikkelaar kan ook specificeren Laravel bestandsrechten zoals bestandstypen, groottelimieten van de bestanden die door de gebruiker kunnen worden geüpload, enz.
Laravel File Upload Voorbeeld
In dit voorbeeld hebben we een eenvoudig formulier gemaakt met validatie om bestanden te uploaden.
Stap 1: Voer de volgende opdracht uit in de opdrachtprompt om een Laravel-project met de naam te maken file-uploading-tutorial
Stap 2: Voeg de volgende twee routes toe aan het routes / web.php het dossier.
Stap 3: Voer de volgende opdracht uit in de opdrachtprompt om te maken FileUploadController en wijzig de bestaande code zoals hieronder weergegeven.
php artisanaal merk: controller FileUploadController
Stap 4: Maak een weergavebestand met de naam create.blade.php en voeg de volgende code toe:
Stap 5: Maak een map met de naam uploads van bestanden in de openbaar map. Het is de map waarin geüploade bestanden worden opgeslagen.
Stap 6: Bezoek de volgende URL en het zal een uitvoer produceren die lijkt op de onderstaande schermafbeelding.
Notitie : De volgende URL kan verschillen van de uwe.
http: //file-uploading-tutorial.test/file/upload
zet karakter om in integer c ++
Stap 7: Nu kunt u een geldig bestand uploaden en het formulier verzenden. Controleer of het geüploade bestand is opgeslagen in het uploads van bestanden map. U kunt ook proberen een ongeldig bestand te uploaden (bestand met een ongeldig bestandstype en / of overschreden bestandsgrootte) en het formulier verzenden om de validatie te controleren.
In het bovenstaande voorbeeld mag de gebruiker alleen indienen doc docx negentiende csv, en pdf bestanden met een maximale grootte van 1024 bytes
Voorbeeld 1: Het uploaden van een pdf-bestand dat kleiner is dan 1024 bytes.
Voorbeeld 2: Een afbeeldingsbestand uploaden (PNG, JPEG, enz.).
Voorbeeld 3: Het uploaden van een pdf-bestand dat groter is dan 1024 bytes.
Laravel-sessie
NAAR sessie is gewend aan sla gebruikersgegevens op over meerdere gebruikersverzoeken Het helpt bijhouden van de websitegebruikers Laravel-sessieconfiguratie kan worden gedaan in het config / session.php het dossier. Standaard is het bestandstuurprogramma wordt gebruikt om sessiegegevens te verwerken.
Laravel-sessiegegevens ophalen
Eerst moet u een instantie van een sessie krijgen die toegankelijk is via een HTTP-verzoek. Gebruik vervolgens de krijgen() methode om toegang te krijgen tot gegevens.
Gegevens opslaan in Laravel-sessie
Er zijn twee manieren om gegevens in een sessie op te slaan.
# 1) De ... gebruiken zetten() methode - Deze methode slaat gegevens op via een aanvraaginstantie.
#twee) Gebruik makend van sessie helper - Deze methode slaat gegevens op via de globale helper.
Laravel-sessiegegevens verwijderen
De vergat () methode wordt gebruikt om specifieke gegevens uit de sessie te verwijderen.
De flush () methode wordt gebruikt om alle gegevens uit de sessie te verwijderen.
Flash-gegevens met behulp van Laravel-sessie
De flash() methode wordt ook gebruikt om gegevens in een sessie op te slaan, maar is alleen beschikbaar voor het volgende HTTP-verzoek.
Voorbeeld van een Laravel-sessie
Laten we leren hoe instellen, krijgen, en verwijderen sessiegegevens aan de hand van een eenvoudig sessievoorbeeld.
Stap 1: Voer de volgende opdracht uit in de opdrachtprompt om een Laravel-project met de naam te maken sessie-tutorial
Stap 2: Voeg de volgende drie routes toe in het routes / web.php het dossier.
Stap 3: Voer de volgende opdracht uit in de opdrachtprompt om te maken SessionController en wijzig de bestaande code zoals hieronder weergegeven:
php artisanaal maken: controller SessionController
Stap 4: Bezoek de volgende URL's in de opgegeven volgorde naar set krijgen, en verwijderen sessiegegevens.
Notitie De volgende URL's kunnen verschillen van die van u.
# 1) Bezoek de volgende URL naar sessiegegevens instellen
http: //session-tutorial.test/session/set
Het zal een output produceren die lijkt op de onderstaande schermafbeelding.
#twee) Bezoek de volgende URL naar sessiegegevens ophalen
http: //session-tutorial.test/session/get
Het zal een output produceren die lijkt op de onderstaande schermafbeelding.
# 3) Bezoek de volgende URL naar sessiegegevens verwijderen
http: //session-tutorial.test/session/delete
Het zal een output produceren die lijkt op de onderstaande schermafbeelding.
# 4) Ga na het verwijderen van de sessiegegevens opnieuw naar de volgende URL.
http: //session-tutorial.test/session/get
Het zal een output produceren die lijkt op de onderstaande schermafbeelding.
Laravel-verificatie
Laravel-authenticatie is eenvoudig. Het is gewend gebruikers identificeren Meestal wordt het bereikt door identificatie van de gebruikersnaam en het wachtwoord van de gebruiker Als de gebruikersreferenties als geldig worden geïdentificeerd, wordt gezegd dat de gebruiker een geverifieerde gebruiker
De config / auth.php bestand is het configuratiebestand voor authenticatie. Laravel-authenticatie bestaat uit bewakers en providers
Bewakers: Het definieert hoe gebruikers voor elk verzoek worden geverifieerd.
Aanbieders: Het definieert hoe gebruikers worden opgehaald uit uw permanente opslag.
Verder kunt u indien nodig ook aanvullende providers definiëren. Het hoeft de standaard authenticatieconfiguratie echter niet te wijzigen.
Houd er rekening mee dat we hebben bewakers en providers niet in detail besproken in deze tutorial.
Authenticatievoorbeeld
In dit voorbeeld hebben we een eenvoudig Laravel 7-auth-systeem gemaakt.
Stap 1: Voer de volgende opdracht uit in de opdrachtprompt om een Laravel-project met de naam te maken auth-tutorial
Stap 2: Verbind uw project met de database en voer de volgende opdracht uit in de opdrachtprompt om standaardmigraties uit te voeren.
Stap 3: Voer de volgende opdracht uit in de opdrachtprompt om het Laravel UI-pakket
Stap 4: De volgende stap is het genereren van auth steigers met Bootstrap, bekijken, of Reageer Je kan lopen een van de volgende opdrachten om auth-steigers te maken.
Voer de volgende opdracht uit in de opdrachtprompt om auth-steigers te genereren met Bootstrap
Voer de volgende opdracht uit in de opdrachtprompt om auth-steigers te genereren met Visie
Voer de volgende opdracht uit in de opdrachtprompt om auth-steigers te genereren met Reageer
Stap 5: Voer de volgende twee opdrachten uit in de opdrachtprompt om de nieuwe steiger te compileren door te installeren npm-afhankelijkheden
Stap 6: Bezoek de volgende URL's om de authenticatie te testen door een nieuwe gebruiker aan te maken (een nieuwe gebruiker te registreren) en in te loggen op het systeem. U kunt zowel geldige als ongeldige gegevens proberen om de authenticatie te testen.
Notitie De volgende URL's kunnen verschillen van die van u.
Eerst moet u een nieuwe gebruiker registreren. Ga naar de volgende URL om een nieuwe gebruiker te registreren en het zal een output produceren die lijkt op de onderstaande schermafbeelding.
http: //auth-tutorial.test/register
Nadat u een nieuwe gebruiker heeft geregistreerd, logt u in op het systeem door de volgende URL te bezoeken, en het zal een uitvoer produceren die lijkt op de onderstaande schermafbeelding.
http: //auth-tutorial.test/login
Een succesvolle login zal de gebruiker omleiden naar het startpagina / dashboard zoals hieronder weergegeven.
Laravel Autorisatie
In simpele termen, autorisatie controleert of het geauthenticeerde gebruikers hebben de benodigde toestemming om toegang te krijgen tot de gevraagde bronnen
Autorisatie voorbeeld
In dit voorbeeld hebben we een eenvoudig Laravel 7-autorisatiesysteem gemaakt.
Stap 1: Voer de volgende opdracht uit in de opdrachtprompt om een Laravel-project met de naam te maken autorisatie-tutorial
Stap 2: Verbind uw project met de database.
Stap 3: Voer de volgende opdracht uit in de opdrachtprompt om het add_role_column_to_users_table migratie en wijzig de bestaande code zoals hieronder weergegeven:
php artisanaal maken: migratie add_role_column_to_users_table
Stap 4: Voer de volgende opdracht uit in de opdrachtprompt om alle migraties uit te voeren.
verschillen tussen c ++ en c
Stap 5: Voeg voorbeeldgegevens toe aan het Gebruikers tafel gebruiken knutselen zoals hieronder weergegeven:
Stap 6: Voer de volgende opdracht uit in de opdrachtprompt om het Laravel UI-pakket
Stap 7: De volgende stap is het genereren van auth steigers met Bootstrap, bekijken, of Reageer Je kan lopen een van de volgende opdrachten om auth-steigers te maken.
Voer de volgende opdracht uit in de opdrachtprompt om auth-steigers te genereren met Bootstrap
Voer de volgende opdracht uit in de opdrachtprompt om auth-steigers te genereren met Visie
Voer de volgende opdracht uit in de opdrachtprompt om auth-steigers te genereren met Reageer
Stap 8: Voer de volgende twee opdrachten uit in de opdrachtprompt om de nieuwe steiger te compileren door te installeren npm-afhankelijkheden
Stap 9: Open de AuthServiceProvider.php bestand op App / providers en wijzig de bestaande code zoals hieronder weergegeven:
Stap 10: Wijzig de bestaande code in het home.blade.php bestand zoals hieronder weergegeven:
Stap 11: Bezoek de volgende URL en het zal een uitvoer produceren die lijkt op de onderstaande schermafbeelding. Log vervolgens een voor een in op het systeem als een admin, een manager en een gebruiker.
Notitie : De volgende URL's kunnen verschillen van die van u.
http: //authorization-tutorial.test/login
- Beheerder login
Als u bent aangemeld als beheerder , dan is de uitvoer vergelijkbaar met de volgende schermafbeelding.
- Manager login
Als u bent aangemeld als manager , dan is de uitvoer vergelijkbaar met de volgende schermafbeelding.
- Gebruiker login
Als u bent aangemeld als gebruiker , dan is de uitvoer vergelijkbaar met de volgende schermafbeelding.
E-mails verzenden in Laravel
Wat is Mailtrap
Er zijn verschillende gratis online tools beschikbaar om e-mails te testen in Laravel, en Mailtrap is zo'n tool. Mailtrap gebruikt een nep-SMTP-server om e-mails te testen. Het accepteert e-mails van de lokale host waarmee de ontwikkelaar of tester kan testen hoe e-mails zullen worden gedeeld voordat ze naar echte inboxen worden gestuurd.
Voorbeeld van e-mails verzenden
Laten we een eenvoudig voorbeeld geven met Mailtrap
Stap 1: Voer de volgende opdracht uit in de opdrachtprompt om een Laravel-project met de naam te maken email-tutorial
Stap 2: Bezoek de URL en maak een nieuw Mailtrap-account aan of log in op het Mailtrap-account als je er al een hebt.
Stap 3: Na inloggen op het Mailtrap-account,
# 1) Klik op Demo Inbox
#twee) Identificeer de Gebruikersnaam en Wachtwoord onder SMTP Deze gebruikersnaam en wachtwoord zijn uniek en zullen we in de volgende stap gebruiken.
Notitie: Bezoek de URL voor meer informatie over Mailtrap.
Stap 4: Open de . env bestand en voer je Mailtrap gebruikersnaam en wachtwoord.
Stap 5: Voeg de volgende twee routes toe aan het routes / web.php het dossier.
Stap 6: Voer de volgende opdracht uit in de opdrachtprompt om te maken FileUploadController en wijzig de bestaande code zoals hieronder weergegeven.
php artisanaal merk: controller ContactController
Stap 7: Voer de volgende opdracht uit in de opdrachtprompt om te maken Contact opnemen met e-mail klasse. Met deze opdracht wordt een bestand gemaakt met de naam ContactMail.php in de App / e-mail directory.
Stap 8: Wijzig de bestaande code in het ContactMail.php bestand zoals hieronder getoond.
Stap 9: Maak de volgende weergavebestanden en voeg de codes toe.
# 1) Maak het contact.blade.php bestand en voeg de volgende code toe.
#twee) Maak het contact-template.blade.php bestand en voeg de volgende code toe.
Stap 10: Bezoek de volgende URL en het zal een uitvoer produceren die lijkt op de onderstaande schermafbeelding.
Notitie : De volgende URL kan verschillen van de uwe.
http: //email-tutorial.test/contact
Stap 11: Vul het formulier in en verstuur.
Stap 12: Bezoek nu je Mailtrap account en controleer de inbox. U ziet een nieuw bericht in uw inbox, vergelijkbaar met de onderstaande schermafbeelding.
Gevolgtrekking
Het uploaden van Laravel-bestanden is eenvoudig en de ontwikkelaar kan ook Laravel-bestandsrechten instellen. Laravel biedt een gemakkelijke manier om sessiegegevens in te stellen, op te halen en te verwijderen. Laravel-authenticatie helpt om gebruikers te identificeren, terwijl Laravel-autorisatie controleert of de geauthenticeerde gebruikers toestemming hebben om toegang te krijgen tot de gevraagde bronnen.
We kunnen tools zoals Mailtrap gebruiken om e-mails te testen voordat ze naar echte inboxen worden gestuurd.
We hopen dat je deze tutorial nuttig vond! Ik hoop je weer te zien in de volgende tutorial waar we het zullen hebben Laravel smeedt en verzamelt
Veel plezier met leren!
<< PREV Tutorial VOLGENDE Tutorial >>
Aanbevolen literatuur
- PHP Laravel-zelfstudie voor beginners: wat is Laravel Framework
- Laravel Collection en Laravel Forge Tutorial
- Laravel-database, migraties, welbespraakte ORM en Tinker
- Laravel-formulieren en validatieregels met voorbeeld
- Toegangsrechten voor Unix-bestanden: Unix Chmod, Chown en Chgrp
- Unix-machtigingen: bestandsmachtigingen in Unix met voorbeelden
- Bestand uploaden met Selenium Webdriver - 3 methoden
- Bestandsmanipulatie in Unix: overzicht van Unix-bestandssysteem