Heim  >  Artikel  >  PHP-Framework  >  Laravel-HTTP-Anfrage: Cookies und hochgeladene Dateien abrufen

Laravel-HTTP-Anfrage: Cookies und hochgeladene Dateien abrufen

齐天大圣
齐天大圣Original
2020-12-14 21:44:571768Durchsuche

COOKIE

Laravel verschlüsselt den Cookie-Wert auf der untersten Ebene und verwendet den Autorisierungscode zur Signatur. Wenn der Client den Cookie-Wert ändert, wird er daher ungültig. Auf diese Weise müssen wir uns keine Sorgen über eine Cookie-Fälschung machen.

Legen Sie den Cookie-Wert fest.

Beim Festlegen des Cookie-Werts wird das Wissen der Laravel-Antwort (Response) verwendet, das hier kurz erläutert wird.

Sie können die Cookie-Funktion verwenden, um ein Cookie zu erstellen und das Cookie dann über die Antwortfunktion an den Client zurückzugeben:

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

Zusätzlich zur Verwendung der Cookie-Funktion können Sie auch die Cookie-Methode der Antwortinstanz zum Festlegen verwenden und gib es zurück. Die Parameter dieser Methode und Cookie-Funktion sind konsistent.

return response('Hello World')->cookie(
    'name', 'php.cn', 3600
);

Holen Sie sich den Cookie-Wert

Es gibt zwei Methoden, um den Cookie-Wert zu erhalten. Diese beiden Methoden werden unten gezeigt:

use Illuminate\Http\Request;
$value = $request->cookie('name');
// 或
use Illuminate\Support\Facades\Cookie;
$value = Cookie::get('name');

Holen Sie sich die hochgeladene Datei

Das Laravel-Framework ruft die hochgeladene Datei ab und hält die Datei sehr einfach.

Es gibt zwei Möglichkeiten, hochgeladene Dateien abzurufen: Verwenden Sie die Dateimethode oder die dynamische Attributmethode. Diese Methode gibt eine IlluminateHttpUploadedFile-Instanz zurück.

$logo = $request->file('logo');
// or
$logo = $request->logo;

Natürlich können Sie vor dem Abrufen feststellen, ob die Datei vorhanden ist:

if ($request->hasFile('logo')) {
    $logo = $request->file('logo');
}

Die Anforderungsanforderungsinstanz kann die hochgeladene Datei auch überprüfen:

if ($request->file('logo')->isValid()) {
    //
}

uploadFile Die Instanz verfügt über viele Methoden, um den temporären Speicherpfad, die Erweiterung und andere Informationen der hochgeladenen Datei abzurufen. Im Folgenden wird gezeigt, wie Sie das Dateitypsuffix erhalten: Speichern Sie die Datei mit der Store-Methode. Der erste Parameter gibt den Pfad zum Speichern der Datei ein Der Parameter gibt den Host an, auf dem die Datei gespeichert ist (oder die Plattform eines Drittanbieters). Laravel generiert automatisch eine eindeutige ID als Dateinamen. Diese Informationen befinden sich in der Konfigurationsdatei config/filesystems.php wie folgt:

$logo = $request->file('logo');
$logo->path();  // png

Wenn Sie den Dateinamen zum Speichern der Preisanfragedatei selbst festlegen möchten, müssen Sie die Methode „storeAs“ verwenden der festzulegende Dateiname.

'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'),
    ],
],

Veröffentlichen Sie abschließend ein vollständiges Beispiel für einen Datei-Upload-Code:

HTML-Code lautet wie folgt:

$request->file('logo')->storeAs('img/logo', '1.png');

Speichern Sie den Dateicode wie folgt:

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

Das obige ist der detaillierte Inhalt vonLaravel-HTTP-Anfrage: Cookies und hochgeladene Dateien abrufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn