PHP 笔记9 文件上传
2021/12/17 20:22:27
本文主要是介绍PHP 笔记9 文件上传,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文件上传
文件上传原理
表单写法:
1.method属性:表单提交方式必须为post
2. enctype属性:form表单属性,主要是规范表单数据的编码方式.
3.上传表单:file表单
<body> <form method="POST" enctype="multipart/form-data" action="文件上传.php"> <input type="file" name="image"> <input type="submit" name="button" value="上传文件"> </form> </body>
name属性必须有;
$_FILES详解
php中有一个预定义变量$_FILES是专门用来存储用户上传的文件的.
从这里可以看到,post并没有记录上传文件的信息,文件的信息是储存在$_FILES变量里的
1. name:上传文件在用户(浏览器端)电脑上的名字.
2. tmp_name:文件上传到服务器后,操作系统临时保存的路径和文件名.
3. type: MIME类型(文件类型).
4. error:文件上传的错误号码,上传正确返回UPLOAD_ERR_OK即0.其他的错误代码见
https://www.php.net/manual/zh/features.file-upload.errors.php
5. size:文件大小
移动临时文件到目标位置
文件上传之后会保存到$_FILES中,那么访问文件信息的形式就是
1. 判断文件是否为上传的文件is_uploaded_file( ); 详解
格式:is_uploaded_file ( string $filename ) : bool
filename:要检查的文件名。
是返回 TRUE,否则返回 FALSE。
2. 移动文件:move_uploaded_file( ) 详解
格式:move_uploaded_file ( string $filename , string $destination ) : bool
filename:上传的文件的文件名
destination:移动文件到这个位置
成功时返回 TRUE。
如上两个图片代码.1个是html表单;1个是php脚本.
php脚本中处理上传,主要使用两个函数:is_uploaded_file()函数判断该文件是否为上传文件,如果是,使用move_uploaded_file()函数保存到服务器指定路径.
多文件上传
当商品需要上传多个图片进行展示的时候:那么需要使用多文件上传
针对一个内容但是不同文件说明:同名表单 (使用数组)
当商品需要进行多个维度图片说明的时候:需要使用多文件上传
针对是不同内容所以表单名字不一样:批量解决问题
多文件上传的$_FILES变量的数据结构形式
批量上传-同名表单:
将表单名字形成一个数组
将文件对应的五个要素:name、Tmp_name、size、type、error都形成对应数量的数组
批量上传-不同名表单:
每个文件都会形成一个属于自己独立的5个元素的数组
对多文件信息的遍历读取和处理
1 不同名多文件上传处理方式:
按照表单名字从$_FILES中取出直接使用(明确知道表单中有多少文件) ;
如果不确定文件表单中文件数量和表单名字,可以通过$_FILES数组遍历获取
2. 同名多文件批量上传:
想办法得到一个文件对应的五元素数组.从$_FILES中把对应的name, tmp_name, size, error, type挨个取出来,然后存放到不同的数组中.
参考官网
这篇关于PHP 笔记9 文件上传的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享
- 2024-11-01开源 PHP 商城项目 CRMEB 安装和使用教程
- 2024-11-01用php和mysql写无限分类,有哪几种方法-icode9专业技术文章分享
- 2024-10-31php数据分表导出时部分数据无法导出什么原因-icode9专业技术文章分享
- 2024-10-30有经验的 PHP 开发者学习一门新的编程语言,有哪些推荐的有前景的语言-icode9专业技术文章分享
- 2024-10-21php 检测图片是否篡改过-icode9专业技术文章分享
- 2024-10-20fruitcake/php-cors 该怎么使用-icode9专业技术文章分享
- 2024-10-18PHP7.1可以使用哪个版本的swoole-icode9专业技术文章分享