php怎样实现本地上传图片功能?
Admin 2021-04-27 群英技术资讯 1329 次浏览
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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在thinkphp3.2中,vendor用于导入第三方类库,该方法默认的导入路径为thinkphp系统目录的Vendor目录,默认后缀是“.php”,语法为“vendor(要导入的类库, 导入的基础路径, 导入的类库后缀)”。
php序列化和反序列化怎么操作?优缺点是什么?一些朋友对于php序列化和反序列化不是很了解,对此这篇文章就给大家介绍一下关于php常见的序列化和反序列化操作,感兴趣的朋友可以看看。
php中DateTime的错误处理:1、DateTime对象可以过程化地写出来的。2、提供了一种getLastErrors()方法,但是当使用面向对象的方法时,DateTime对象会以异常的形式被抛出。
这篇文章给大家分享的是有关使用thinkPHP框架实现无限级栏目排序的内容,下文有具体的实现思路以及代码,对于新手来说有一定的借鉴价值,有需要的朋友可以看一看,接下来就跟随小编一起来了解一下吧。
laravel中的异常有:1、“E_ERROR”致命运行时错误,不可恢复,会导致脚本终止不再继续运行;2、“E_WARNING”运行时警告“非致命错误”;3、“E_PARSE”编译时语法解析错误;4、“E_CORE_ERROR”初始化启动过程中发生的致命错误;5、“E_COMPILE_ERROR”致命编译时错误;6、“E_RECOVERABLE_ERROR”可被捕捉的致命错误。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008