php怎样实现本地上传图片功能?
Admin 2021-04-27 群英技术资讯 2318 次浏览
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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在thinkphp5中,save()方法用于向指定数据表中添加一条记录,该方法每次仅能向表中添加一条新记录,添加多条可重复执行,语法为“模型对象 -> save(数组)”或“模型对象 -> data(数组) -> save();”。
我们编写程序时,即使是经验丰富的程序员,犯个错误也是在所难免的。但是,如果开发人员不能注意到这些错误,也无法了解编译器报错信息的含义,那么这些错误信息不仅毫无...
YII2框架中分页组件怎么使用?在做开发时,如果数据太多,一页显示不全,那么就需要做分页。在YII2框架中已经帮我们封装好了分页组件,下面我们就来看看是如何使用的。
在本篇文章里小编给大家整理的是一篇关于php没有文件被上传的实例分析及解决办法,有兴趣的朋友们可以跟着学习参考下。
PHP因为发展的进步,为我们带来很大的便利,而字符串在每个时期都不同,想知道的朋友就跟着小编一起来学习PHP开发中字符分解字符串的方法吧。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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