php怎样实现本地上传图片功能?
Admin 2021-04-27 群英技术资讯 2212 次浏览
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盘根目录下,

大功告成,完成上传。
以上就是关于php实现上传图片功能的介绍,本文实现步骤及具体代码,有需要的朋友可以参考参考,希望对大家学习有帮助。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php定义常量方法的区别:1、const是一种语言结构,define()是一个函数,const编译比define()快。2、define()声明常量,常量名是字符串类型,可以动态拼接,可以用表达式命名,const只能用普通常量名。
laravel怎样实现无限级分类?laravel实现无限级分类其实不是很难,但是要做好也是讲究方法和技巧的,下面给大家介绍一个laravel实现无限级分类的方法,希望大家能有收获。
这篇文章主要介绍了简述PHP7.4 新特性和废弃的功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
php中__sleep方法的使用:1、在类的外部调用serialize()时自动调用。2、__sleep()方法通常用于提交未提交的数据或类似的清理操作。如果有一些大对象,但不需要完全保存,这个功能非常有用。
今天小编就为大家分享一篇关于PHP crc32()函数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008