laravel基礎課程---7、文件處理、閃存、cookie(cookie原理和使用場景)


laravel基礎課程---7、文件處理、閃存、cookie(cookie原理和使用場景)

一、總結

一句話總結:

頁面請求服務器的時候是把這個頁面中所有的cookie都帶上了的cookie里面也存了session的信息,服務器根據這個session可以判斷用戶
登錄:[如果未勾選自動登錄 默認采用session(服務器判斷session)(session關閉瀏覽器就失效)],[如果勾選自動登錄 默認采用cookie]
瀏覽紀錄:會在cookie中存一份

 

 

1、laravel中的閃存是什么?

作用:【表單驗證錯誤】:Laravel 允許你將本次的輸入數據保留到下一次請求發送前。這個特性在表單驗證錯誤后重新填寫表單相當有用。
原理:【存入session】:Illuminate\Http\Request 的 flash 方法會將當前輸入的數據存進 session 中,因此下次用戶發送請求到應用程序時就可以使用它們

 

 

2、閃存語法及實例?

把表單提交所有數據寫入閃存:$request->flash(); 在頁面中的對應的input標簽的value屬性中寫value={{old('input的name名稱')}}
把誰寫入閃存:$request->flushOnly();
除了誰寫入閃存:$request->flushExcept();
把當前所有的數據都寫入閃存:return back()->with('errors','用戶名長度不滿足')->withInput(); 這里的withinput()就是flash()的作用

 

 

3、回退到上一個頁面?

return back()

 

4、laravel支持鏈式操作?

return back()->with('errors','用戶名長度不滿足')->withInput();

 

5、return back()->with('errors','用戶名長度不滿足')->withInput();是什么意思?

back():回退到上一個頁面
with():向頁面發送數據,可以在頁面中用<?php dump($errors);?>來接收
把當前所有的數據都寫入閃存:return back()->with('errors','用戶名長度不滿足')->withInput();

 

6、laravel圖片上傳操作?

使用 Illuminate\Http\Request 實例中的 file 方法獲取上傳的文件:$file = $request->file('photo');
form表單加上文件傳輸選項:enctype="multipart/form-data"

 

 

7、文件上傳實例?

判斷是否有文件:hasFile():if ($request->hasFile('img'))
文件名:time()+rand():$newFile=time().rand().".".$ext;
上傳文件操作:move():$request->file('img')->move('./Uploads',$newFile);
// 獲取上傳文件

    $img=$request->file('img');

    $img2=$request->img;

// 判斷文件是否上傳

    var_dump($request->hasFile('img'));

// 實例
if ($request->hasFile('img')) {
    // 獲取后綴名
    $ext=$request->file('img')->getClientOriginalExtension();
    // 新的文件名

    $newFile=time().rand().".".$ext;

    // 上傳文件操作
    $request->file('img')->move('./Uploads',$newFile);
}else{
    // 回到上一個頁面
    return back();
}


[實際開發中 使用無刷新上傳文件]

 

 

8、session和cookie如何使用(比如判斷用戶登錄)?

看cookie中是否有用戶信息,如果有,就將cookie信息存進session,然后登錄,否則就讓用戶重新登錄
登錄:其實還是先從cookie判斷起:[如果未勾選自動登錄 默認采用session(服務器判斷session)(session關閉瀏覽器就失效)],[如果勾選自動登錄 采用cookie]

 

9、laravel中如何查看和設置cookie?

查看所有cookie:$request對象的cookie()方法:dd($request->cookie());
查看指定cookie:echo $request->cookie('laravel_session'); 或 echo \Cookie::get('laravel_session');
設置cookie:\Cookie::queue('shauige','非浩哥莫屬',10);
設置cookie的實質:也就是將cookie信息寫進瀏覽器緩存
1、COOKIE的使用場景
    登錄
        [如果未勾選自動登錄 默認采用session]
        [如果勾選自動登錄 默認采用cookie]
    瀏覽紀錄

    [使用cookie和session 實現企業郵箱登錄效果]

2、注意:
    laravel 框架把所有的COOKIE進行加密
    $_COOKIE['name']  =/= $request->cookie('name');

3、查看cookie
    // 查看所有cookie

        // dd($request->cookie());

    // 查看cookie
        echo $request->cookie('laravel_session');

        echo \Cookie::get('laravel_session');

4、設置cookie    
    // 設置COOKIE
       \Cookie::queue('shauige','非浩哥莫屬',10);

       $cookie = cookie('name', 'value', 10);

       return response('Hello World')->cookie($cookie);

 

 

10、laravel中$_COOKIE['name']  =/= $request->cookie('name'); 的原因是什么?

laravel 框架把所有的COOKIE進行加密

 

 

 

二、內容在總結中

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM