如何用PHP实现上传图片功能

HTML文件

一、 设置编码UTF-8

对于中文网页需要使用<meta charset="utf-8">声明编码,否则会出现乱码。

二 、form表单

  1. <form>标签用于为用户输入创建 HTML 表单,
  2. 表单里包含php文件路径,
<form action="1.php">
  1. 设置编码类型,

需要注意的是:默认情况下,enctype的值是application/x-www-form-urlencoded,不能用于文件上传,只有使用了multipart/form-data,才能完整的传递文件数据,

<form action="1.php" enctype="multipart/form-data">
  1. 配置数据传输方式,
<form action="1.php" enctype="multipart/form-data" method="POST">

三、input输入框

  1. 文本输入框通过<input>标签来设定
  2. 添加上传属性
type="file" name="file"
  1. 设定提交按钮
<input type="submit" value="上传">
  1. HTML文件编辑完成
<html>
<head>
    <meta charset="UTF-8">
    <title>上传</title>
</head>
<body>
<form action="3.php" enctype="multipart/form-data" method="post" >

    请选择上传文件:<input type="file" name="file">
                  <input type="submit">
</form>
</body>
</html>

PHP文件

一、获取文件信息

  • 获取文件信息(获取一个数组的信息)
$shangchuan = $_FILES['file'];

在这里插入图片描述

二、判断条件是否符合

  1. if判断条件是否符合

  2. 设置上传类型

  3. 设置接收类型

if ($shangchuan['type'] == "image/jpg" or $shangchuan['type'] == "text/plain")
  1. 判断不符合输出–失败 类型不符,判断符合自动跳过执行下一命令
 {echo '失败--类型不符';
    die();}

在这里插入图片描述

  1. 判断大小是否符合
if ($shangchuan['size'] > 800000)
  1. 判断不符合输出–失败 类型不符,判断符合自动跳过执行下一命令
{echo '失败--大小不符';
   die();}

在这里插入图片描述

三、设置文件存放路径

  1. 设置上传文件的存放路径
copy($shangchuan['tmp_name'], 'D:\\' . $shangchuan['name']);echo '输出:成功';

在这里插入图片描述

  1. PHP文件编写完成:
<?php
//1、设置编码utf8
header("Content-Type: text/html; charset=UTF-8");
//2、获取文件信息
$shangchuan = $_FILES['file'];
if ($shangchuan['type'] == "image/jpg" or $shangchuan['type'] == "text/plain") {
    //9、输出:失败
    echo '失败--类型不符';
    die();
}
if ($shangchuan['size'] > 800000) {
    //9、输出:失败
    echo '失败--大小不符';
    die();
}
//7、移动临时文件到上传的文件存放位置(核心代码)
copy($shangchuan['tmp_name'], 'D:\\' . $shangchuan['name']);
//8、输出:成功
echo '输出:成功';
?>

运行测试

一、上传文件

  1. 在开启phpstudy_pro工具的前提下,打开浏览器输入路径在这里插入图片描述
  2. 点击选择文件在这里插入图片描述
  3. 提交
    在这里插入图片描述
  4. 查看上传图片
    我这里存在D盘根目录下,在这里插入图片描述

大功告成,完成上传。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值