php+ajax实现异步上传文件或图片功能


Posted in PHP onJuly 18, 2017

本文为大家分享了ajax异步上传文件或图片功能的具体代码,供大家参考,具体内容如下

//html代码

<form enctype="multipart/form-data" id="upForm">
 <input type="file" name="file" ><br><br>
 <input type="button" value="提交">
</form>
<div class="picDis">
 <img src="" alt="">
</div>
//js代码

(':button').click(function(event) {
//formdata储存异步上传数据
 var formData = new FormData($('form')[0]);
 formData.append('file',$(':file')[0].files[0]);
 //坑点: 无论怎么传数据,console.log(formData)都会显示为空,但其实值是存在的,f12查看Net tab可以看到数据被上传了
 $.ajax({
  url:'formtest.php',
  type: 'POST',
  data: formData,
  //这两个设置项必填
  contentType: false,
  processData: false,
  success:function(data){
  console.log(data)
  var srcPath = data;
  console.log();
 //注意这里的路径要根据自己的储存文件的路径设置
  $('.picDis img').attr('src', '..'+srcPath);
  }
 })
 });

php:

<?php 

$upFile = $_FILES['file'];

/**
* 创建文件夹函数,用于创建保存文件的文件夹
* @param str $dirPath 文件夹名称
* @return str $dirPath 文件夹名称
*/
function creaDir($dirPath){
 $curPath = dirname(__FILE__);
 $path = $curPath.'\\'.$dirPath;
 if (is_dir($path) || mkdir($path,0777,true)) {
  return $dirPath;
 }
}

//判断文件是否为空或者出错
if ($upFile['error']==0 && !empty($upFile)) {
 $dirpath = creaDir('upload');
 $filename = $_FILES['file']['name'];
 $queryPath = './'.$dirpath.'/'.$filename;
 //move_uploaded_file将浏览器缓存file转移到服务器文件夹
 if(move_uploaded_file($_FILES['file']['tmp_name'],$queryPath)){
  echo $queryPath;
 }
}

 ?>

点击上传图片并发送后, 可以看到页面上显示出图片, 查看本地文件夹可以看到文件也已储存到服务器.

在客户端实现异步上传的关键在于FormData,关于这部分这里有详细介绍: FormData()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
用php和MySql来与ODBC数据连接
Oct 09 PHP
一道求$b相对于$a的相对路径的php代码
Aug 08 PHP
PHP session会话的安全性分析
Sep 08 PHP
PHP输出数组中重名的元素的几种处理方法
Sep 05 PHP
使用PHP curl模拟浏览器抓取网站信息
Oct 28 PHP
ThinkPHP中的常用查询语言汇总
Aug 22 PHP
简单解决新浪SAE无法上传文件的问题
May 13 PHP
ThinkPHP函数详解之M方法和R方法
Sep 10 PHP
PHP中常见的缓存技术实例分析
Sep 23 PHP
yii2.0实现创建简单widgets示例
Jul 18 PHP
php实现头像上传预览功能
Apr 27 PHP
Laravel框架学习笔记之批量更新数据功能
May 30 PHP
Joomla框架实现字符串截取的方法示例
Jul 18 #PHP
PHP新特性详解之命名空间、性状与生成器
Jul 18 #PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
Jul 18 #PHP
PHP基于XMLWriter操作xml的方法分析
Jul 17 #PHP
PHP基于DOMDocument解析和生成xml的方法分析
Jul 17 #PHP
PHP基于SimpleXML生成和解析xml的方法示例
Jul 17 #PHP
PHP实现限制IP访问及提交次数的方法详解
Jul 17 #PHP
You might like
PHP Smarty生成EXCEL文档的代码
2008/08/23 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
JavaScript中的this关键字使用方法总结
2015/03/13 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
2016/08/30 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
微信网页授权并获取用户信息的方法
2018/07/30 Javascript
vue自定义tap指令及tap事件的实现
2018/09/18 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
2020/08/10 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
python实现多线程抓取知乎用户
2016/12/12 Python
python爬虫获取京东手机图片的图文教程
2017/12/29 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
Python3 replace()函数使用方法
2018/03/19 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
2019/01/05 Python
如何在windows下安装配置python工具Ulipad
2020/10/27 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
关于礼仪的演讲稿
2014/01/04 职场文书
物业总经理岗位职责
2014/02/28 职场文书
信息工作经验交流材料
2014/05/28 职场文书
同学聚会策划方案
2014/06/06 职场文书
商场客服专员岗位职责
2014/06/13 职场文书
金融专业毕业生自荐信
2014/06/26 职场文书
优秀纪检干部材料
2014/08/27 职场文书
加班费申请报告
2015/05/15 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
德生BCL3000抢先使用感受和评价
2022/04/07 无线电