Maison > cadre php > Laravel > Requête HTTP laravel : obtenez les cookies et les fichiers téléchargés

Requête HTTP laravel : obtenez les cookies et les fichiers téléchargés

齐天大圣
Libérer: 2020-12-15 09:28:14
original
2006 Les gens l'ont consulté

COOKIE

Laravel cryptera la valeur du cookie dans la couche inférieure et utilisera le code d'autorisation pour le signer. Par conséquent, si le client modifie la valeur du cookie, celle-ci deviendra invalide. De cette façon, nous n’avons pas à nous soucier de la falsification des cookies.

Définir la valeur du cookie

La définition de la valeur du cookie utilisera la connaissance de la réponse laravel (Response), qui est brièvement discutée ici.

Vous pouvez utiliser la fonction cookie pour créer un cookie, puis renvoyer le cookie au client via la fonction de réponse :

// cookie($name, $value, $minutes, $path, $domain, false, ...);
$cookie = cookie('username', 'php.cn', 3600);
return response('hello laravel')->cookie($cookie);
Copier après la connexion

En plus d'utiliser la fonction cookie, vous pouvez également utiliser le Méthode cookie de l'instance de réponse à définir et à renvoyer. Les paramètres de cette méthode et de la fonction cookie sont cohérents.

return response('Hello World')->cookie(
    'name', 'php.cn', 3600
);
Copier après la connexion

Obtenir la valeur du cookie

Il existe deux façons d'obtenir la valeur du cookie. Ces deux méthodes sont illustrées ci-dessous :

use Illuminate\Http\Request;
$value = $request->cookie('name');
// 或
use Illuminate\Support\Facades\Cookie;
$value = Cookie::get('name');
Copier après la connexion
<🎜. >

Obtenir des fichiers téléchargés

Le framework Laravel est très simple pour obtenir des fichiers téléchargés et enregistrer des fichiers.

Il existe deux façons d'obtenir le fichier téléchargé, en utilisant la méthode du fichier ou la méthode de l'attribut dynamique. Cette méthode renvoie une instance IlluminateHttpUploadedFile.

$logo = $request->file(&#39;logo&#39;);
// or
$logo = $request->logo;
Copier après la connexion

Bien sûr, vous pouvez déterminer si le fichier existe avant de l'obtenir. Ici, utilisez la méthode hasFile :

if ($request->hasFile(&#39;logo&#39;)) {
    $logo = $request->file(&#39;logo&#39;);
}
Copier après la connexion

L'instance de requête request peut également vérifier le fichier téléchargé. vous vérifiez le fichier téléchargé avant de l'enregistrer. Faites ceci :

if ($request->file(&#39;logo&#39;)->isValid()) {
    //
}
Copier après la connexion

L'instance uploadFile dispose de nombreuses méthodes pour obtenir le chemin de sauvegarde temporaire, l'extension et d'autres informations du fichier téléchargé. Ce qui suit montre comment obtenir le suffixe de type de fichier

$logo = $request->file(&#39;logo&#39;);
$logo->path();  // png
Copier après la connexion

Enfin, comment enregistrer le fichier à l'aide de la méthode store. Cette méthode a deux paramètres. , et le deuxième paramètre renseigne le fichier dans quel répertoire personnel (ou plate-forme tierce) il est enregistré. Laravel générera automatiquement un identifiant unique comme nom de fichier. Ces informations se trouvent dans le fichier de configuration config/filesystems.php, comme suit :

&#39;disks&#39; => [
    &#39;local&#39; => [
        &#39;driver&#39; => &#39;local&#39;,
        &#39;root&#39; => storage_path(&#39;app&#39;),
    ],
    &#39;public&#39; => [
        &#39;driver&#39; => &#39;local&#39;,
        &#39;root&#39; => storage_path(&#39;app/public&#39;),
        &#39;url&#39; => env(&#39;APP_URL&#39;).&#39;/storage&#39;,
        &#39;visibility&#39; => &#39;public&#39;,
    ],
    &#39;s3&#39; => [
        &#39;driver&#39; => &#39;s3&#39;,
        &#39;key&#39; => env(&#39;AWS_ACCESS_KEY_ID&#39;),
        &#39;secret&#39; => env(&#39;AWS_SECRET_ACCESS_KEY&#39;),
        &#39;region&#39; => env(&#39;AWS_DEFAULT_REGION&#39;),
        &#39;bucket&#39; => env(&#39;AWS_BUCKET&#39;),
        &#39;url&#39; => env(&#39;AWS_URL&#39;),
        &#39;endpoint&#39; => env(&#39;AWS_ENDPOINT&#39;),
    ],
],
Copier après la connexion

Si vous souhaitez définir vous-même le nom du fichier pour enregistrer le fichier de demande de prix, vous devez utiliser la méthode storeAs. de cette méthode est le nom du fichier à définir.

$request->file(&#39;logo&#39;)->storeAs(&#39;img/logo&#39;, &#39;1.png&#39;);
Copier après la connexion

Enfin, publiez un exemple complet de code de téléchargement de fichier :

le code HTML est le suivant :

<form method="post" action="/index?a=32" enctype="multipart/form-data">
    @csrf
    <input type="file" name="logo" >
    <input type="submit" value="sub" />
</form>
Copier après la connexion

Enregistrez le code du fichier comme suit :

if ($request->hasFile(&#39;logo&#39;)) {
    $logo = $request->file(&#39;logo&#39;);
    if ($logo->isValid()) {
        $ext = $logo->extension();
        $fileName = date(&#39;YmdHis&#39;) . mt_rand(10000,99999);
        $path = $logo->storeAs(&#39;img/logo&#39;, $fileName . &#39;.&#39; . $ext);
        dump($path); //"img/logo/2020121413351718218.png"
    }
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal