php+ajax 文件上传代码实例


Posted in PHP onMarch 18, 2019

本文实例为大家分享了php+ajax 文件上传的具体代码,供大家参考,具体内容如下

html 代码

<form action="{pboot:form fcode=8}" method="post" id="t" enctype="multipart/form-data">
<input type="file" name='tables_a' id="tables" onchange="abs()">
<input type="hidden" name='tables' id='tables_2'>
<input type="submit" value="提交">
</form>

项目使用的是pbootCMS 所以地址可忽略
enctype="multipart/form-data"因为设计到文件上传必须在from 表单中添加该属性

js代码 

function abs(){
 var fileArray = document.getElementById('tables').files[0];
 var formData = new FormData();
 formData.append("fileArray", fileArray)
 $.ajax({
  url: "{pboot:httpurl}/api.php/Tables/index",//传向后台服务器文件
  type: 'POST', //传递方法
  data: formData, //传递的数据
  dataType : 'json', //传递数据的格式
  async:false, //这是重要的一步,防止重复提交的     
  cache: false, //设置为false,上传文件不需要缓存。
  contentType: false,//设置为false,因为是构造的FormData对象,所以这里设置为false。
  processData: false,//设置为false,因为data值是FormData对象,不需要对数据做处理。
  success: function (responseStr){
   if(responseStr.code != 0){
    alert('上传成功');
    $('#tables_2').val('{pboot:httpurl}'+responseStr.data);
   }else{
    alert('上传失败');
   }
  },
  error: function () {
   alert("上传错误!");
  }
 });
}

PHP代码

public function index()
{
 $name = $_FILES['fileArray']['name'];
 $last = substr($name,strrpos($name,'.'));
 $name = date('YmdHis').rand(10000,99999).$last;
 $address = ROOT_PATH.'/upload/'.$name;
 if(move_uploaded_file($_FILES['fileArray']['tmp_name'],$address)){
  return json(1,'/upload/'.$name);
 }else{
  return json(0);
 }
}

$_FILES['fileArray']['tmp_name']   是文件的临时存储位置,所以直接将他移动过去就好了

以上所述是小编给大家介绍的php+ajax的文件上传详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
利用PHP动态生成VRML网页
Oct 09 PHP
PHP冒泡排序算法代码详细解读
Jul 17 PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
Aug 05 PHP
php中OR与|| AND与&amp;&amp;的区别总结
Oct 26 PHP
PHP 实现类似js中alert() 提示框
Mar 18 PHP
PHP实现的增强性mhash函数
May 27 PHP
Laravel validate error处理,ajax,json示例
Oct 25 PHP
Laravel5.5 动态切换多语言的操作方式
Oct 25 PHP
详解no input file specified 三种解决方法
Nov 29 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
Mar 18 PHP
PHP实现递归的三种方法
Jul 04 PHP
PHP中单例模式的使用场景与使用方法讲解
Mar 18 #PHP
详解php中curl返回false的解决办法
Mar 18 #PHP
浅谈PHP SHA1withRSA加密生成签名及验签
Mar 18 #PHP
PHP自动生成缩略图函数的源码示例
Mar 18 #PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
Mar 18 #PHP
PHP实现对数字分隔加千分号的方法
Mar 18 #PHP
PHP生成指定范围内的N个不重复的随机数
Mar 18 #PHP
You might like
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
CL vs ForZe BO5 第三场 2.13
2021/03/10 DOTA
jQuery解决iframe高度自适应代码
2009/12/20 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
2013/07/09 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
2015/05/01 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
2015/12/20 Javascript
JavaScript实现图片懒加载(Lazyload)
2016/11/28 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
Vue路由管理器Vue-router的使用方法详解
2020/02/05 Javascript
vue在图片上传的时候压缩图片
2020/11/18 Vue.js
Python的多态性实例分析
2015/07/07 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
基于Python中capitalize()与title()的区别详解
2017/12/09 Python
Python实现线程状态监测简单示例
2018/03/28 Python
关于Python3 lambda函数的深入浅出
2019/11/27 Python
Python Pivot table透视表使用方法解析
2020/09/11 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
HTML5 canvas基本绘图之绘制五角星
2016/06/27 HTML / CSS
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
string = null 和string = ''的区别
2013/04/28 面试题
八一建军节营销活动方案
2014/08/31 职场文书
订货会主持词
2015/07/01 职场文书
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
2021/06/11 Python
MySQL命令无法输入中文问题的解决方式
2021/08/30 MySQL
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP
使用CSS定位HTML元素的实现方法
2022/07/07 HTML / CSS