jQuery+PHP实现图片上传并提交功能


Posted in PHP onJuly 27, 2020

图片上传思路:通过ajax实现图片上传,然后把PHP返回的图片地址,加入到隐藏字段中,最后通过表单提交给后台PHP,代码如下

HTML代码 zimg.html文件:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>自定义上传图片</title>
</head>
<body>
 <form action="a.php?action=2" method="post">
 <span>
  上传图片
 </span> 
 
 <span>
  <input type="file" id="img_url" name="img_url" accept=".jpg, .gif, .jpeg, .bmp, .png"/>
  <a onclick="UpLoadImg()">上传</a>
  <input type="hidden" id="url_data" name="url_data"/>
 </span>

 <br>
 <span>
  <input type="submit" value="提交">
 </span>
 </form>
 
</body>
<!-- 引入jq -->
<script src="https://code.jquery.com/jquery-3.0.0.min.js"></script>

<script>
 function UpLoadImg(){
 //获取上传文件
 var formData = new FormData();
 formData.append('img_url', $('#img_url')[0].files[0]);
 console.log(formData)
 //提交后台处理
 $.ajax({
  url: 'a.php?action=1',
  type: 'POST',
  cache: false,
  data: formData,
  dataType: "JSON",
  processData: false,
  contentType: false
 }).done(function(res) {
  console.log(res.url);
  if(res.status == 1){
  //赋值给字段
  $('#url_data').val(res.url);
  alert(res.msg)
  }else{
  alert(res.msg)
  }
 }).fail(function(res) {

 });
 }
</script>

</html>

后台PHP代码 a.php:

<?php
if($_GET['action'] == 1){//上传图片接口
 $img = $_FILES['img_url'];
 //获取上图片后缀
 $type = strstr($img['name'], '.');
 $rand = rand(1000, 9999);
 //命名图片名称
 $pics = date("YmdHis") . $rand . $type; 
 //上传路径
 $pic_path = "img/". $pics;
 //移动到指定目录,上传图片
 $res = move_uploaded_file($img['tmp_name'], $pic_path);
 if($res){
 echo json_encode(['status' => 1, 'msg' => '上传成功','url' => $pic_path]);exit;
 }else{
 echo json_encode(['status' => 0, 'msg' => '上传失败']);exit;
 }
}elseif($_GET['action'] == 2){//提交文件表单
 echo '<pre>';
 var_dump($_POST);
}

最后实现效果如下:

jQuery+PHP实现图片上传并提交功能

ps:js代码是使用jQuery的写法,需引入jQuery代码库文件

到此这篇关于jQuery加PHP实现图片上传并提交实现详解的文章就介绍到这了,更多相关jQuery加PHP实现图片上传并提交内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
PHP中函数内引用全局变量的方法
Oct 20 PHP
php通过ajax实现双击table修改内容
Apr 28 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
Aug 06 PHP
php实现的简单检验登陆类
Jun 18 PHP
apache和PHP如何整合在一起
Oct 12 PHP
yii使用activeFileField控件实现上传文件与图片的方法
Dec 28 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
PHP加密技术的简单实现
Sep 04 PHP
php.ini中date.timezone设置详解
Nov 20 PHP
php7安装yar扩展的方法详解
Aug 03 PHP
php接口实现拖拽排序功能
Apr 23 PHP
PHP数组对象与Json转换操作实例分析
Oct 22 PHP
关于PHP中interface的用处详解
Jul 26 #PHP
Laravel中如何轻松容易的输出完整的SQL语句
Jul 26 #PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
Jul 24 #PHP
php实现商城购物车的思路和源码分析
Jul 23 #PHP
PHP安全之register_globals的on和off的区别
Jul 23 #PHP
PHP代码覆盖率统计详解
Jul 22 #PHP
php实现统计IP数及在线人数的示例代码
Jul 22 #PHP
You might like
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
2011/06/24 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
探讨php中header的用法详解
2013/06/07 PHP
php数组去重实例及分析
2013/11/26 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
2014/04/02 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
2016/05/16 PHP
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
javascript concat数组累加 示例
2009/09/03 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
JavaScript的Date()方法使用详解
2015/06/09 Javascript
你所不了解的javascript操作DOM的细节知识点(一)
2015/06/17 Javascript
js实现图片上传并正常显示
2015/12/19 Javascript
JavaScript必知必会(九)function 说起 闭包问题
2016/06/08 Javascript
jQuery设置单选按钮radio选中/不可用的实例代码
2016/06/24 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
详解vue项目中调用百度地图API使用方法
2019/04/25 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
python检查指定文件是否存在的方法
2015/07/06 Python
python开发之for循环操作实例详解
2015/11/12 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
python 二维数组90度旋转的方法
2019/01/28 Python
python SVD压缩图像的实现代码
2019/11/05 Python
python中的错误如何查看
2020/07/08 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
酒店前台接待岗位职责
2013/12/03 职场文书
探矿工程师自荐信
2014/01/24 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
教师病假条范文
2015/08/17 职场文书
社区挂职锻炼个人工作总结
2015/10/23 职场文书
iPhone13再次曝光
2021/04/15 数码科技
Django基础CBV装饰器和中间件
2022/03/22 Python