小編給大家分享一下laravel中如何獲取cookie,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),建始企業(yè)網(wǎng)站建設(shè),建始品牌網(wǎng)站建設(shè),網(wǎng)站定制,建始網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,建始網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。COOKIE
laravel在底層會(huì)對cookie值進(jìn)行加密,并且使用授權(quán)碼進(jìn)行簽名。所以,如果客戶端修改了cookie值,那么就會(huì)失效。這樣,我們就不用擔(dān)心cookie偽造問題。
設(shè)置cookie值
設(shè)置cookie值會(huì)用到laravel響應(yīng)(Response)的知識(shí),這里簡單帶過。
可以使用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ù)外,還可以使用響應(yīng)實(shí)例的cookie方法設(shè)置并返回。該方法和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方法或動(dòng)態(tài)屬性方法。該方法返回Illuminate\Http\UploadedFile實(shí)例。
$logo = $request->file('logo'); // or $logo = $request->logo;
當(dāng)然可在獲取文件前判斷該文件是否存在,這里使用hasFile方法:
if ($request->hasFile('logo')) { $logo = $request->file('logo'); }
request請求實(shí)例還能對上傳的文件進(jìn)行驗(yàn)證,我們非常推薦在保存文件前進(jìn)行此操作:
if ($request->file('logo')->isValid()) { // }
uploadFile實(shí)例有許多方法,可以獲取上傳文件的零時(shí)保存路徑、擴(kuò)展名等信息。下面演示獲取文件類型后綴
$logo = $request->file('logo'); $logo->path(); // png
最后,將如何保存文件,保存文件使用store方法,該方法的有兩個(gè)參數(shù),第一個(gè)參數(shù)填寫保存文件的路徑,第二個(gè)參數(shù)填寫文件保存在哪個(gè)主目錄中(或第三方平臺(tái)里)。laravel會(huì)自動(dòng)生成一個(gè)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'), ], ],
如果想自己設(shè)置保存問價(jià)文件的文件名,需要使用storeAs方法,該方法的第二個(gè)參數(shù)是要設(shè)置的文件名。
$request->file('logo')->storeAs('img/logo', '1.png');
最后,貼出一個(gè)完整的文件上傳的代碼示例:
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”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享標(biāo)題:laravel中如何獲取cookie-創(chuàng)新互聯(lián)
鏈接地址:http://jinyejixie.com/article46/dcjchg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、定制開發(fā)、定制網(wǎng)站、網(wǎng)站營銷、面包屑導(dǎo)航、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容