请选择 进入手机版 | 继续访问电脑版

php教程:文件上传/服务器接受文件

[复制链接]
查看1738 | 回复0 | 2020-9-27 16:07 | 显示全部楼层 |阅读模式
开发中需要上传图片、音乐、视频等等,这种上传传递是二进制数据。
1.6.1  客户端上传文件
文件域
php语法代码:
  1. <input type="file" name="image">
复制代码
表单的enctype属性
        默认情况下,表单传递是字符流,不能传递二进制流,通过设置表单的enctype属性传递复合数据。
enctype属性的值有:
  • application/x-www-form-urlencoded:【默认】,表示传递的是带格式的文本数据。
  • multipart/form-data:复合的表单数据(字符串,文件),文件上传必须设置此值
  • text/plain:用于向服务器传递无格式的文本数据,主要用户电子邮件

单词
  1. multipart:复合
  2. form-data:表单数组
复制代码
1.6.2  服务器接受文件
超全局变量$_FILES是一个二维数组,用来保存客户端上传到服务器的文件信息。二维数组的行是文件域的名称,列有5个。1、$_FILES[][‘name’]:上传的文件名2、$_FILES[][‘type]:上传的类型,这个类型是MIME类型(image/jpeg、image/gif、image/png)3、$_FILES[][‘size’]:文件的大小,以字节为单位4、$_FILES[][‘tmp_name’]:文件上传时的临时文件5、$_FILES[][‘error’]:错误编码(值有0、1、2、3、4、6、7)0表示正确
php案例代码如下:
  1. <body>
  2. <?php
  3. if(!empty($_POST)) {
  4.         if($_FILES['face']['error']==0){  //上传正确
  5.         //文件上传
  6.                 move_uploaded_file($_FILES['face']['tmp_name'],'./'.$_FILES['face']['name']);
  7.         }else{
  8.                 echo '上传有误';
  9.                 echo '错误码:'.$_FILES['face']['error'];
  10.         }
  11. }
  12. ?>
  13. <form method="post" action="" enctype='multipart/form-data'>
  14.         <input type="file" name="face">
  15.         <input type="submit" name="button" value="上传">
  16. </form>
  17. </body>
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

UID
1
贡献
387
丢币
38902
主题
4607
回帖
116
注册时间
2018-9-25
最后登录
2024-3-24