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进行加密
二、内容在总结中
laravel基础课程---7、文件处理、闪存、cookie(cookie原理和使用场景)的更多相关文章
- laravel基础课程---14、表单验证(lavarel如何进行表单验证)
laravel基础课程---14.表单验证(lavarel如何进行表单验证) 一.总结 一句话总结: lavarel的验证的功能比tp要[简单]且[强大]很多 直接控制器中:添加[规则数组]和[修改提 ...
- laravel基础课程---4、Laravel基础网站结构搭建
laravel基础课程---4.Laravel基础网站结构搭建 一.总结 一句话总结: 1.搭建网站前后台路由:在路由组Route::group()中设置好命名空间和前缀 2.搭建控制器:比如1)新建 ...
- laravel基础课程---16、数据迁移(数据库迁移是什么)
laravel基础课程---16.数据迁移(数据库迁移是什么) 一.总结 一句话总结: 是什么:数据库迁移就像是[数据库的版本控制],可以让你的团队轻松修改并共享应用程序的数据库结构. 使用场景:解决 ...
- laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)
laravel基础课程---15.分页及验证码(lavarel分页效果如何实现) 一.总结 一句话总结: 数据库的paginate方法:$data=\DB::table("user" ...
- laravel基础课程---11、lavarel的ajax操作(ajax优劣势是什么)
laravel基础课程---11.lavarel的ajax操作(ajax优劣势是什么) 一.总结 一句话总结: 优势:用户友好度:异步通信,不会频繁刷新页面,用户友好度比较高 优势:减轻数据库压力 缺 ...
- laravel基础课程---10、数据库基本操作(如何使用数据库)
laravel基础课程---10.数据库基本操作(如何使用数据库) 一.总结 一句话总结: 1.链接数据库:.env环境配置里面 2.执行数据库操作:DB::table('users')->up ...
- laravel基础课程---9、视图(lavarel的模板语法和tp相比怎样)
laravel基础课程---9.视图(lavarel的模板语法和tp相比怎样) 一.总结 一句话总结: lavarel的模板语法比thinkphp好用很多:和html代码配合的更好 lavarel比t ...
- laravel基础课程---8、laravel响应和视图(响应是什么)
laravel基础课程---8.laravel响应和视图(响应是什么) 一.总结 一句话总结: 就是向请求返回的响应数据(一般为html(视图),当然也可以是变量值):所有的路由及控制器必须返回某个类 ...
- laravel基础课程---2、Laravel配置文件、路由及php artisan(php artisan是什么)
laravel基础课程---2.Laravel配置文件.路由及php artisan(php artisan是什么) 一.总结 一句话总结: PHP工具匠:php artisan,其实本身就是一些PH ...
随机推荐
- Vue 响应式属性
本文参考自:https://www.w3cplus.com/vue/vue-reactivity-and-pitfalls.html 1.概述 当创建一个Vue实例时,每个数据属性.组件属性等都是可以 ...
- 《Head First 设计模式》学习笔记——观察者模式 + 装饰者模式
装饰者模式是JDK中还有一个使用较多的设计模式,上一个是观察者模式(在Swing中大量使用),业内好的API设计无一离不开常见的设计模式,通常我们所说要阅读源代码,也是为了学习大牛们的设计思路.--- ...
- javascript 关于弹出新页面始终在正中央方法
记录一个关于弹出新页面始终在正中央方法 function openwindow(url, name, iWidth, iHeight) { var url; ...
- centos7 安装rocketmq(quick start)
Quick Start This quick start guide is a detailed instruction of setting up RocketMQ messaging system ...
- 数据存储之Archiver、Unarchiver、偏好设置
数组的归档 对象的归档 NSData多个对象的归档 NSArray多个对象的归档 偏好设置的存储 1.NSString.NSDictionary.NSArray.NSData.NSNumber等类型的 ...
- 【转载】教你使用 Reflexil 反编译.NET
简介 反编译的方式有很多种,其实最靠谱的还是IL反编译. 如果不懂IL可以尝试我这边文章入门:http://www.wxzzz.com/278.html 不过我下面要说的不是IL这种底层的代码反编译, ...
- 用递归法将一个整数n转换成字符串。
用递归法将一个整数n转换成字符串. 比如,输入483,应输出字符串"483".n的位数不确定,能够是随意位数的整数. #include "stdafx.h" # ...
- Android中经常使用的bitmap处理方法
收集了非常多bitmap相关的处理方法,差点儿所有应用在项目中,所以特记录下! package com.tmacsky.utils; import java.io.ByteArrayOutputStr ...
- PHP通过prepare执行查询取得数据
可以用来防止sql注入 <?php $pdo=new PDO("mysql:host=localhost;dbname=itest", 'root',''); //先构建查询 ...
- HDFS源码分析之DataXceiverServer
DataXceiverServer是Hadoop分布式文件系统HDFS的从节点--数据节点DataNode上的一个后台工作线程,它类似于一个小型的服务器,被用来接收数据读写请求,并为每个请求创建一个工 ...