php知识点之php文件上传

1. 文件上传时需要的注意事项:

- HTNL表单部分:- 上传文件时,传输方式必须是post方式- 需要指定表单传输编码格式:enctype="multipart/form-data";
- PHP部分需要注意:1. 如果有文件上传,那么上传的文件在PHP脚本中不能用$_POST来接收,必须用$_FILES来接收,其它内容依然用$_POST2. php.ini配置文件中:upload_max_filesize = 2M 允许上传文件大小的最大值3. upload_tmp_dir = "c:/wamp64/tmp" 文件上传的临时目录(也叫作垃圾目录,文件上传都会到这个文件夹这是防止有人恶意上传病毒文件,上传到临时文件后如果没有用PHP脚本将这个文件移动走,这个文件会被从临时文件删除,并且速度很快,可以用sleep()函数观察)4. file_uploads = On 允许文件上传5. max_file_uploads = 20 表示允许最大上传文件个数为20个6. post_max_size = 8M 表示POST最大传输内容为8m注意:upload_max_filesize 设置的值最大不能超过 post_max_size设置的值,因为upload_max_filesize是被包含在post_max_size里面的

2. 表单传输账号密码

web上传文件通常为表单传输,普通的表单通过post和get进行传输,类似这样

<form action="file.php" method="post" enctype="multipart/form-data>用户名:<input type="text" name="user">密码:<input type="password" name="pwd">上传文件:<input type="file" name="pic"><input type="submit" value="登录">
</form>

使用以上表单的方式就能实现用post传输账号密码和上传的文件,在file.php文件里

 var_dump($_POST['user']);//打印传输的账号var_dump($POST['pwd']);//打印传输的密码var_dump($_FILES);//打印上传文件的信息

值得注意的是接收文件的变量是$_FILES,而不是$_POST,$_POST是接收不到文件上传的信息的

//打印$_FILES的结果就是下面这些,包含四个参数
//分别是 文件名,文件类型,文件路径,文件的错误码,文件大小
array (size=1)'pic' => array (size=5)'name' => string 'peng.jpg' (length=8)'type' => string 'image/jpeg' (length=10)'tmp_name' => string 'C:\wamp64\tmp\php56C1.tmp' (length=25)'error' => int 0'size' => int 61204

3.关于错误码

不同的情况会返回不同的错误码

//我们打印错误码
var_dump($_FILES['pic']['error']);
//结果为0,上传文件大小超过了php.ini中upload_max_filesize的值
//结果为1,上传文件超过了html表单中设置的MAX_FILE_SIZE设置的值
//结果为2,只有部分文件被上传
//结果为4,没有文件上传
//结果为6,没有临时文件目录
//结果为7,写入失败

php知识点之php文件上传相关推荐

  1. springboot文件上传下载实战 ——文件上传、下载、在线打开、删除

    springboot文件上传下载实战 文件上传 文件上传核心 UserFileController 文件上传测试 文件下载与在线打开 文件下载.在线打开核心 UserFileController 文件 ...

  2. WEB攻防-通用漏洞文件上传二次渲染.htaccess变异免杀

    目录 知识点 详细点 文件二次渲染 php删除规则 例题 CTF-Web入门-162 CTF-Web入门-163 CTF-Web入门-164 CTF-Web入门-165 CTF-Web入门-166 C ...

  3. 河南省网络安全高校战队联盟CTF训练营-web文件上传第一期

    文件上传 个人介绍 姓名:飞羽 CTF菜菜一枚 例题来源 ctfhub:https://www.ctfhub.com pwnthebox:https://insider.pwnthebox.com c ...

  4. day34 文件上传黑白盒审计逻辑中间件外部引用

    前言 #知识点: 1.白盒审计三要素 2.黑盒审计四要素 3.白黑测试流程思路 #详细点: 1.检测层面:前端,后端等 2.检测内容:文件头,完整性,二次渲染等 3.检测后缀:黑名单,白名单,MIME ...

  5. 2020小迪培训(第20天WEB 漏洞-文件上传之基础及过滤方式)

    WEB 漏洞-文件上传之基础及过滤方式 前言 知识点 什么是文件上传漏洞? 有文件上传不一定存在漏洞 凡是存在文件上传的地方/功能的地方都可以进行文件上传漏洞测试 上传文件操作的代码的完整性.安全性, ...

  6. Spring Boot文件上传及回显(单/多文件)

    一.单文件上传 1.前端页面 <!DOCTYPE html> <html lang="en"> <head><meta charset=& ...

  7. 全网最详细的渗透测试靶机实操步骤——vulnhub靶机实战(七)IMF【包含了sql注入,文件上传,gif图片木马制作,缓冲区溢出漏洞sploit等诸多知识点的靶机,超多干货】

    靶机地址:https://www.vulnhub.com/entry/imf-1,162/ 靶机难度:中级(CTF) 靶机发布日期:2016年10月30日 靶机描述:欢迎使用" IMF&qu ...

  8. 文件上传漏洞 (上传知识点、题型总结大全-upload靶场全解)

    文件上传漏洞 什么是文件上传漏洞 什么是webshell 一句话木马大全 产生文件上传漏洞的原因 文件上传漏洞的攻击与防御方式 1.前端限制 2.检查扩展名 1.黑名单策略, 2.白名单策略 3.检查 ...

  9. 00截断上传绕过_【文件上传与解析】文件上传与解析漏洞总结v1.0

    点击上方"公众号" 可以订阅哦! Hello,各位小伙伴晚上好~ 这里是依旧勤劳写公众号的小编~ 今天本公众号将推出一个新的模块,那就是漏洞知识点总结模块!!!(此处应有掌声~) ...

最新文章

  1. c#强制执行内存回收
  2. 软件工程之四则运算开发感悟与收获
  3. Linux中read接收用户输入
  4. (dfs)迷宫最小步数
  5. Redis - 数据持久化
  6. Asp.net MVP模式介绍
  7. 注册表修改系统显示时间
  8. 《程序员修炼之道》第2版
  9. reviewboard mysql_ReviewBoard 的安装和使用
  10. 苹果怎么用计算机,苹果笔记本怎么用(苹果电脑Mac 系统基本操作介绍)
  11. 医院PACS系统源码 PACS信息系统源码
  12. Imagenet数据集1000类别中英文
  13. 神舟战神Z8-CA5NP,RTX3060怎么样?测评值得买吗?详细性能点评
  14. Vue.js :使用LODOP打印表格文件
  15. Centos破解密码
  16. Android MediaPlayer中的RTSP(一):RTSP简介
  17. 43款设计师必备英文设计字体-书法字体
  18. java实践11之网络IO BIO和NIO(上)
  19. 伊玛尔Emaar集团12个关系网曝光!个个大有来头!
  20. 字符串的最大递增子串

热门文章

  1. Angular 14微前端项目构建
  2. 动态流星雨制作代码分享(可直接复制)
  3. 最新款打卡抽奖助手小程序源码,带微信通知功能,去授权
  4. JAVA学习之JTable(表格)
  5. 组成原理(五)CPU指令流水线
  6. DL4J中文文档/开始/Eclipse DL4J示例之旅
  7. 《Python黑帽子》python3代码实现(第六章)
  8. DO、DTO、BO、AO、VO、POJO
  9. strcasecmp与stricmp
  10. 基于Pytorch的3D卷积