如何利用PHP实现上传图片功能详解
这篇文章主要给大家介绍了关于如何利用PHP实现上传图片功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
HTML文件
一、 设置编码UTF-8
对于中文网页需要使用<meta charset="utf-8">声明编码,否则会出现乱码。
二 、form表单 <form>标签用于为用户输入创建 HTML 表单,表单里包含php文件路径,
<form action="1.php">
设置编码类型,
需要注意的是:默认情况下,enctype的值是application/x-www-form-urlencoded,不能用于文件上传,只有使用了multipart/form-data,才能完整的传递文件数据,
<form action="1.php" enctype="multipart/form-data">
配置数据传输方式,
<form action="1.php" enctype="multipart/form-data" method="POST">
三、input输入框 文本输入框通过<input>标签来设定添加上传属性
type="file" name="file"
设定提交按钮
<input type="submit" value="上传">
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")
4、判断不符合输出–失败 类型不符,判断符合自动跳过执行下一命令
{echo '失败--类型不符';
die();}
5、判断大小是否符合
if ($shangchuan['size'] > 800000)
6、判断不符合输出–失败 类型不符,判断符合自动跳过执行下一命令
{echo '失败--大小不符';
die();}
三、设置文件存放路径 设置上传文件的存放路径
copy($shangchuan['tmp_name'], 'D:\\' . $shangchuan['name']);echo '输出:成功';
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 '输出:成功';
- ?>
运行测试
一、上传文件
在开启phpstudy_pro工具的前提下,打开浏览器输入路径
点击选择文件
提交
查看上传图片
我这里存在D盘根目录下,
大功告成,完成上传。