IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> php知识点之php文件上传 -> 正文阅读

[PHP知识库]php知识点之php文件上传

php知识点之php文件上传

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

- HTNL表单部分:
    - 上传文件时,传输方式必须是post方式
    - 需要指定表单传输编码格式:enctype="multipart/form-data";
- PHP部分需要注意:
    1. 如果有文件上传,那么上传的文件在PHP脚本中不能用$_POST来接收,必须用$_FILES来接收,其它内容依然用$_POST
    2. 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知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:13:58  更:2021-07-13 17:14:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/30 21:42:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码