PHP上传文件
发布日期:2021-05-07 07:23:53 浏览次数:20 分类:精选文章

本文共 1677 字,大约阅读时间需要 5 分钟。

文章目录

1.首先了解PHP的$_FILES

$_FILES 是一个预定义的数组,用来获取通过 POST 方法上传文件的相关信息。

$_FILES数组内容如下:

  • $_FILES[‘File’][‘name’] 客户端文件的原名称。
  • $_FILES[‘File’][‘type’] 文件的 MIME 类型,需要浏览器提供该信息的支持.
  • $_FILES[‘File’][‘size’] 已上传文件的大小,单位为字节。
  • $_FILES[‘File’][‘tmp_name’] 文件被上传后在服务端储存的临时文件名,
  • $_FILES[‘myFile’][‘error’] 和该文件上传相关的错误代码。

例子:

//接收一个文件,输出$_FILESif ($_SERVER['REQUEST_METHOD'] === 'POST') {     var_dump($_FILES);}

在这里插入图片描述

2.使用form表单上传

  • 主要思想是把 POST 方法上传的临时文件移动到目标目录。
array(5) { // ["name"]=> // string(11) "02.png" // ["type"]=> // string(9) "image/png" // ["tmp_name"]=> // string(27) "C:\Windows\Temp\php1138.tmp" //这个是临时文件 // ["error"]=> // int(0) // ["size"]=> // int(4398) // } if ($avatar['error'] !== UPLOAD_ERR_OK) { // 服务端没有接收到上传的文件 $GLOBALS['message'] = '上传失败'; return; } // 校验类型 图片类型 $allowed_types = array('image/jpeg', 'image/png', 'image/gif'); if (!in_array($avatar['type'], $allowed_types)) { $GLOBALS['message'] = '这是不支持的图片格式'; return; } // 重要思路是将临时文件移动到网站范围之内 $source = $avatar['tmp_name']; // 临时文件 // => 'C:\Windows\Temp\php1138.tmp' $target = './uploads/' . $avatar['name']; // 目标放在哪 // => './uploads/icon-02.png' // 移动的目标路径中文件夹一定是一个已经存在的目录 $moved = move_uploaded_file($source, $target); $GLOBALS['message'] = '上传成功'; if (!$moved) { $GLOBALS['message'] = '上传失败'; return; } // 移动成功}if ($_SERVER['REQUEST_METHOD'] === 'POST') { // 接收文件 使用一个 叫做 $_FILES 超全局成员 //调用函数 upload();}?>
文件上传

效果:

(1)上传非图片文件
在这里插入图片描述在这里插入图片描述
(2)上传图片
在这里插入图片描述在这里插入图片描述

3.解决上传文件大小限制

  • 修改 php.ini 中的 post_max_size 配置,让服务端可以接受更大的请求体体积
  • 修改 php.ini 中的 upload_max_filesize 配置,让服务端支持更大的单个上传文件
上一篇:H5C3学习笔记
下一篇:php操作json文件

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年04月12日 17时24分26秒