zoukankan      html  css  js  c++  java
  • laravel基础课程---7、文件处理、闪存、cookie(cookie原理和使用场景)

    laravel基础课程---7、文件处理、闪存、cookie(cookie原理和使用场景)

    一、总结

    一句话总结:

    页面请求服务器的时候是把这个页面中所有的cookie都带上了的cookie里面也存了session的信息,服务器根据这个session可以判断用户
    登录:[如果未勾选自动登录 默认采用session(服务器判断session)(session关闭浏览器就失效)],[如果勾选自动登录 默认采用cookie]
    浏览纪录:会在cookie中存一份

    1、laravel中的闪存是什么?

    作用:【表单验证错误】:Laravel 允许你将本次的输入数据保留到下一次请求发送前。这个特性在表单验证错误后重新填写表单相当有用。
    原理:【存入session】:IlluminateHttpRequest 的 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图片上传操作?

    使用 IlluminateHttpRequest 实例中的 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进行加密

    二、内容在总结中

     
  • 相关阅读:
    JedisConnectionException: java.net.ConnectException: Connection refused
    Mysql索引整理总结
    jstat命令总结
    Java死锁排查和Java CPU 100% 排查的步骤整理
    Spring-Session实现Session共享实现原理以及源码解析
    Spring-Session实现Session共享Redis集群方式配置教程
    Spring-Session实现Session共享入门教程
    Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】
    jsp获取当前日期,包括星期几
    使用joda-time工具类 计算时间相差多少 天,小时,分钟,秒
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/10841897.html
Copyright © 2011-2022 走看看