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 ...
随机推荐
- 【Python】matplotlib绘制折线图
一.绘制简单的折线图 import matplotlib.pyplot as plt squares=[1,4,9,16,25] plt.plot(squares) plt.show() 我们首先导入 ...
- linux:date命令(转)
在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便. 1.命令格式: date [参数 ...
- Erlang 督程 启动和结束子进程
1.督程: test_sup 2.子进程:test_gen_server 3.子进程规格Spec: { test_gen_server, {test_gen_server, start_link, [ ...
- 强制重启Linux系统的几种方法
实际生产环境中某些情况下 Linux 服务器系统在出现致命错误需要远程进行重启,通过常规的 reboot.init 6 等方法无法正常重启(例如重启时卡在驱动程序里等情况),这时就需要通过下面介绍的几 ...
- Linux远程无密码登陆并远程执行脚本
假设 A (192.168.20.59)为客户机器,B(192.168.20.60)为目标机: 要达到的目的: A机器ssh登录B机器无需输入密码: 加密方式选 rsa|dsa均可以,默认dsa ss ...
- SQL Server外连接、内连接、交叉连接
小编在做组织部维护最后收尾工作的时候,遇到了这样一个问题,须要将定性考核得分查出来.定量考核相应的数据查出来并进行得分计算.附加分查出来,最后将这三部分信息汇总之后得到总成绩,假设当中一项成绩没有进行 ...
- Erlang的系统限制
Erlang本身对进程数,原子长度等没有限制,但为了提高性能和节省内存,总会在实际实现中和运行环境中作出一些限制. 1.进程数量 缺省情况下同时存在的最大Erlang进程数量不超过2^18=26214 ...
- Log4j2升级jar包冲突问题
升级Log4j2后日志提示jar包冲突: SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar ...
- wpf 获取datagrid 模板列中的控件
目前采用的 方法 (网上提供的一款) public static DataGridRow GetRow(DataGrid datagrid, int columnIndex) { ...
- bootstrap中模态框的大小设置;
bootstrap模态框调节大小: 大尺寸:黑体加大的字体,是更改的代码 <!-- 大模态框的调节 --> <button type="button" class ...