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 相关文章推荐
类的另类用法--数据的封装
Oct 09 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
May 26 PHP
PHP中的array数组类型分析说明
Jul 27 PHP
PHP中使用gettext来支持多语言的方法
May 02 PHP
Sorting Array Values in PHP(数组排序)
Sep 15 PHP
php从数组中随机抽取一些元素的代码
Nov 05 PHP
盘点PHP和ASP.NET的10大对比!
Dec 24 PHP
Linux系统中为php添加pcntl扩展
Aug 28 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
Sep 11 PHP
php自定义函数实现二维数组按指定key排序的方法
Sep 29 PHP
php+ajax+json 详解及实例代码
Dec 12 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 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
PHP学习笔记之二 php入门知识
2011/01/12 PHP
基于MySQL体系结构的分析
2013/05/02 PHP
PHP设计模式之适配器模式原理与用法分析
2018/04/25 PHP
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
jQuery表格排序组件-tablesorter使用示例
2014/05/26 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
AngularJS表单基本操作
2017/01/09 Javascript
js实现图片360度旋转
2017/01/22 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
AngularJS service之select下拉菜单效果
2017/07/28 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
编写React组件项目实践分析
2018/03/04 Javascript
使用 Vue 实现一个虚拟列表的方法
2019/08/20 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
粗略分析Python中的内存泄漏
2015/04/23 Python
python切片及sys.argv[]用法详解
2018/05/25 Python
从运行效率与开发效率比较Python和C++
2018/12/14 Python
django迁移数据库错误问题解决
2019/07/29 Python
Python实现字符串中某个字母的替代功能
2019/10/21 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
意大利香水和彩妆护肤品购物网站:Ditano
2017/08/13 全球购物
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
市场部业务员岗位职责
2014/04/02 职场文书
连带责任保证书
2014/04/29 职场文书
党支部四风整改方案
2014/10/25 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
田径运动会通讯稿
2015/07/18 职场文书
2016教师节感恩话语
2015/12/09 职场文书
2016年小学端午节活动总结
2016/04/01 职场文书
Python实现天气查询软件
2021/06/07 Python
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis