laravel中如何獲取cookie-創(chuàng)新互聯(lián)

小編給大家分享一下laravel中如何獲取cookie,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)是一家集網站建設,建始企業(yè)網站建設,建始品牌網站建設,網站定制,建始網站建設報價,網絡營銷,網絡優(yōu)化,建始網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。

COOKIE

laravel在底層會對cookie值進行加密,并且使用授權碼進行簽名。所以,如果客戶端修改了cookie值,那么就會失效。這樣,我們就不用擔心cookie偽造問題。

設置cookie值

設置cookie值會用到laravel響應(Response)的知識,這里簡單帶過。

可以使用cookie函數(shù)來創(chuàng)建cookie,然后再通過response函數(shù)將cookie返回給客戶端:

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

除了使用cookie函數(shù)外,還可以使用響應實例的cookie方法設置并返回。該方法和cookie函數(shù)的參數(shù)是一致的。

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

獲取cookie值

獲取cookie值可以由兩種方法,下面演示這兩種方法:

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

獲取上傳的文件

laravel框架獲取上傳的文件及保持文件非常的簡單。

獲取上傳的文件有兩種方法,使用file方法或動態(tài)屬性方法。該方法返回Illuminate\Http\UploadedFile實例。

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

當然可在獲取文件前判斷該文件是否存在,這里使用hasFile方法:

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

request請求實例還能對上傳的文件進行驗證,我們非常推薦在保存文件前進行此操作:

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

uploadFile實例有許多方法,可以獲取上傳文件的零時保存路徑、擴展名等信息。下面演示獲取文件類型后綴

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

最后,將如何保存文件,保存文件使用store方法,該方法的有兩個參數(shù),第一個參數(shù)填寫保存文件的路徑,第二個參數(shù)填寫文件保存在哪個主目錄中(或第三方平臺里)。laravel會自動生成一個ID作為文件名。該信息在配置文件config/filesystems.php中,如下:

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

如果想自己設置保存問價文件的文件名,需要使用storeAs方法,該方法的第二個參數(shù)是要設置的文件名。

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

最后,貼出一個完整的文件上傳的代碼示例:

html代碼如下:

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

保存文件代碼如下:

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"
    }
}

以上是“l(fā)aravel中如何獲取cookie”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享標題:laravel中如何獲取cookie-創(chuàng)新互聯(lián)
鏈接地址:http://muchs.cn/article46/dcjchg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站改版、定制開發(fā)定制網站、網站營銷、面包屑導航、電子商務

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

商城網站建設