黑马lavarel教程---7、文件上传
黑马lavarel教程---7、文件上传
一、总结
一句话总结:
在laravel里面实现文件的上传是很简单的,压根不用引入第三方的类库,作者把上传作为一个简单的http请求看待的。
1、在lavarel中作者把文件上传看做什么?
一个简单的http请求
在laravel里面实现文件的上传是很简单的,压根不用引入第三方的类库,作者把上传作为一个简单的http请求看待的。
2、要想表单能够上传(此处不考虑异步方式),则表单应该具备哪些要求?
a. 具有form标签,method必须为post,必须具备enctype属性;
b. 至少有一个input类型为file类型; 得具备一个提交按钮;
3、lavarel文件上传错误状态码error的取值?
0-7,但是没有5,0表示成功。
4、文件上传的本质(核心思想)?
文件的移动,move_upload_file
5、文件上传步骤?
a. 先去判断文件是否正常和存在
b. 获取相关的信息(可选)
c. 保存文件(其实就是移动文件到新的目录)
6、关于项目中使用路径的说明?
如果路径是给php代码使用的,则路径建议使用“./”形式;如果路径是给浏览器使用的则建议使用“/”形式。
7、获取文件上传错误提示的代码示例?
$request -> file(‘avatar’) -> getErrorMessage();
二、文件上传
在laravel里面实现文件的上传是很简单的,压根不用引入第三方的类库,作者把上传作为一个简单的http请求看待的。使用时可以参考手册。
(1)修改表结构,添加一个字段。
ALTER TABLE `member`
ADD COLUMN `avatar` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `email`;
(2)创建添加数据的表单和路由
添加路由:/home/test/test14
创建展示视图的方法并且展示视图
创建视图页面并且添加csrf_token
回顾:要想表单能够上传(此处不考虑异步方式),则表单应该具备哪些要求?
答:
a. 具有form标签,method必须为post,必须具备enctype属性;
b. 至少有一个input类型为file类型;
c. 得具备一个提交按钮;
(3)在控制器中,添加上传业务处理逻辑
【此处操作建议查看手册】
关于上传错误状态码error的取值:0-7,但是没有5,0表示成功。
问题:请你说出文件上传的本质(核心思想)?文件的移动,move_upload_file
更多的方法请访问:
http://api.symfony.com/3.0/Symfony/Component/HttpFoundation/File/UploadedFile.html
思路:
a. 先去判断文件是否正常和存在
b. 获取相关的信息(可选)
c. 保存文件(其实就是移动文件到新的目录)
获取文件的方式:既可以通过file方法来获取也可以通过动态属性来获取,二选一。
(4)创建上传文件的保存路径
关于项目中使用路径的说明:
如果路径是给php代码使用的,则路径建议使用“./”形式;如果路径是给浏览器使用的则建议使用“/”形式。
为了保存的文件不被覆盖,建议在保存文件的同时对文件名进行尽量唯一的重命名:
(5)注意:如果使用的是create方法添加数据到数据表中,则这里还要修改一下模型里面的一个fillable属性,代表允许插入到数据库的字段
将数据写入数据表:
数据表的结果:
如果上传出现了错误,一定要使用获取错误信息的方法:
$request -> file(‘avatar’) -> getErrorMessage();
转载于:https://www.cnblogs.com/Renyi-Fan/p/11561249.html
黑马lavarel教程---7、文件上传相关推荐
- 超详细的实现上传文件功能教程,文件上传实现。
重要声明:本文章仅仅代表了作者个人对此观点的理解和表述.读者请查阅时持自己的意见进行讨论. 本文更新不及时,请到原文地址浏览:<超详细的实现上传文件功能教程,文件上传实现.>. 一.文件上 ...
- bottle 文件服务器,python bottle 框架基础教程:文件上传 | linux系统运维
文件上传,需要注意的是前端html的form表单中,要添加 enctype="multipart/form-data"属性,否则无法上传文件.在后端,用request.files方 ...
- struts2教程--实现文件上传下载
Struts2文件上传下载 一.Struts2文件上传 提供 FileUpload 拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容 fileUpload拦截 ...
- spring boot基础教程之文件上传下载
一文件上传 文件上传主要分以下几个步骤: (1)新建maven java project: (2)在pom.xml加入相应依赖: (3)新建一个文件上传表单页面; (4)编写controller; ( ...
- 中国菜刀使用教程--ctf 文件上传
首先把包含一句话的文件上传,php内容文件如下: <?php eval($_POST['a']); ?> 如果会过滤 <? 和 php 关键字,可以使用长标签 <script ...
- 菜鸟教程php 文件上传,php入门学习知识点三 PHP上传
if(is_uploaded_file($_FILES["Imgs"]["tmp_name"])){ $phpupfile=$_FILES["Imgs ...
- Flask 的完全使用教程(文件上传下载,cookie,session,template使用)
Flash是python下的一个轻量级web服务框架,通过Flash可以快速的搭建api服务器和各位网站,在深度学习中Flash用的最多的就是模型的部署.配合上一些c++ dll库的调用,比如这个库( ...
- 最全面的SpringMVC教程(五)——文件上传与下载
前言 本文为 [SpringMVC教程]文件上传与下载 相关知识,具体将对使用MultipartResolver处理文件上传的步骤,两种文件下载方式(直接向response的输出流中写入对应的文件流. ...
- 文件上传漏洞 — ::$DATA绕过、点和空格绕过
web渗透测试最全实战课程--渗透测试视频教程-信息安全-CSDN程序员研修院 文件上传漏洞的相关讲解基于upload-labs靶场,搭建教程见文件上传漏洞靶机搭建教程 ::$DATA绕过 补充知识 ...
- 文件上传漏洞 — 前端JS绕过、MIME类型绕过
文件上传漏洞的相关讲解基于upload-labs靶场,搭建教程见文件上传漏洞靶机搭建教程 前端JS绕过 浏览器访问http://127.0.0.1/Pass-01/index.php进入靶机pass0 ...
最新文章
- Educational Codeforces Round 54
- 图灵奖得主Whitfield Diffie等一众大佬解读智能科学未来新发展 |“之识无界”大会...
- Hive记录-配置远程连接(JAVA/beeline)
- mysql在线修改表结构大数据表的风险与解决办法归纳
- otdr进行多种测试鸿蒙包括,华为联合南非MTN完成业界首个FTTH内置OTDR规模商用
- sc7cb27180 士兰微_供应 SILAN/士兰微 SC7A30E SC7A30 LGA10-3A 加速度计/三轴磁传感器
- spring security 参考 和 例子
- 视频压缩软件如何下载
- Overlay网络和VXLAN
- Fences -让你的桌面图标分组显示,成块状化
- 为什么要学习现代控制理论(机器人方向)?
- vue中input限制只能输入数字
- 微信浏览器apk下载的解决方案
- 计算机被限制压缩包打不开怎么办,【解决】压缩文件打不开,压缩文件损坏怎么修复?...
- linux查看当前网卡网速,Linux环境编程:获取网卡的实时网速
- 【小学信息技术教资面试】教案模板
- 【思维题 细节】loj#6042. 「雅礼集训 2017 Day7」跳蚤王国的宰相
- 什么事,是你当了领导才明白的?
- 别具一格的Flash时钟
- 搜集的动植物分类、检索网站