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挨个取出来,然后存放到不同的数组中.

 

 参考官网

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值