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);
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 );
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');
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('logo'); // or $logo = $request->logo;Bien sûr, vous pouvez déterminer si le fichier existe avant de l'obtenir. Ici, utilisez la méthode hasFile :
if ($request->hasFile('logo')) { $logo = $request->file('logo'); }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('logo')->isValid()) { // }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('logo'); $logo->path(); // pngEnfin, 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 :
'disks' => [ 'local' => [ 'driver' => 'local', 'root' => storage_path('app'), ], 'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ], 's3' => [ 'driver' => 's3', 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION'), 'bucket' => env('AWS_BUCKET'), 'url' => env('AWS_URL'), 'endpoint' => env('AWS_ENDPOINT'), ], ],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('logo')->storeAs('img/logo', '1.png');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>Enregistrez le code du fichier comme suit :
if ($request->hasFile('logo')) { $logo = $request->file('logo'); if ($logo->isValid()) { $ext = $logo->extension(); $fileName = date('YmdHis') . mt_rand(10000,99999); $path = $logo->storeAs('img/logo', $fileName . '.' . $ext); dump($path); //"img/logo/2020121413351718218.png" } }
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!