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


Posted in PHP onSeptember 24, 2020

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'];

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

二、判断条件是否符合

1、if判断条件是否符合

2、设置上传类型

3、设置接收类型

if ($shangchuan['type'] == "image/jpg" or $shangchuan['type'] == "text/plain")

4、判断不符合输出?失败 类型不符,判断符合自动跳过执行下一命令

{echo '失败--类型不符';
 die();}

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

5、判断大小是否符合

if ($shangchuan['size'] > 800000)

6、判断不符合输出?失败 类型不符,判断符合自动跳过执行下一命令

{echo '失败--大小不符';
  die();}

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

三、设置文件存放路径 设置上传文件的存放路径

copy($shangchuan['tmp_name'], 'D:\\' . $shangchuan['name']);echo '输出:成功';

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

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工具的前提下,打开浏览器输入路径

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

点击选择文件

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

提交

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

查看上传图片

我这里存在D盘根目录下,

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

大功告成,完成上传。

到此这篇关于如何利用PHP实现上传图片功能的文章就介绍到这了,更多相关PHP上传图片功能内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
PHP入门速成(2)
Oct 09 PHP
基于PHP选项与信息函数的使用详解
May 10 PHP
php小技巧之过滤ascii控制字符
May 14 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
PHP实现无限极分类图文教程
Nov 25 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
Feb 01 PHP
一个简单安全的PHP验证码类 附调用方法
Jun 24 PHP
PHP中new static()与new self()的比较
Aug 19 PHP
php微信公众号开发(4)php实现自定义关键字回复
Dec 15 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
yii框架使用分页的方法分析
Jul 25 PHP
JS中彻底删除JSON对象组成的数组中的元素
Sep 22 #PHP
phpstudy隐藏index.php的方法
Sep 21 #PHP
如何在Laravel之外使用illuminate组件详解
Sep 20 #PHP
PHP编程一定要改掉的5个不良习惯
Sep 18 #PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
Sep 17 #PHP
深入浅析安装PhpStorm并激活的步骤详解
Sep 17 #PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
Sep 17 #PHP
You might like
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
浅析ThinkPHP的模板输出功能
2014/07/01 PHP
php实现四舍五入的方法小结
2015/03/03 PHP
如何用PHP来实现一个动态Web服务器
2015/07/29 PHP
详解PHP对象的串行化与反串行化
2016/01/24 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
nodejs获取本机内网和外网ip地址的实现代码
2014/06/01 NodeJs
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
JS数组合并push与concat区别分析
2015/12/17 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
利用js获取下拉框中所选的值
2016/12/01 Javascript
jquery dataview数据视图插件使用方法
2016/12/23 Javascript
Iscrool下拉刷新功能实现方法(推荐)
2017/06/26 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
vue父子组件的嵌套的示例代码
2017/09/08 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
python中reload(module)的用法示例详解
2017/09/15 Python
python利用requests库进行接口测试的方法详解
2018/07/06 Python
详解python3中的真值测试
2018/08/13 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
银行见习期自我鉴定
2014/01/29 职场文书
电工工作职责范本
2014/02/22 职场文书
应届大专毕业生自我鉴定
2014/04/08 职场文书
财务会计大学生自我评价
2014/04/09 职场文书
2014财务人员自我评价范文
2014/09/21 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
公司管理建议书
2015/09/14 职场文书
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python
如何用Navicat操作MySQL
2021/05/12 MySQL
vite+vue3.0+ts+element-plus快速搭建项目的实现
2021/06/24 Vue.js
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js