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 相关文章推荐
一个简单实现多条件查询的例子
Oct 09 PHP
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
Feb 16 PHP
Window下PHP三种运行方式图文详解
Jun 11 PHP
Smarty foreach控制循环次数的实现详解
Jul 03 PHP
简单实用的.net DataTable导出Execl
Oct 28 PHP
浅析ThinkPHP中execute和query方法的区别
Jun 13 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
Aug 11 PHP
PHP利用MySQL保存session的实现思路及示例代码
Sep 09 PHP
CodeIgniter控制器之业务逻辑实例分析
Jan 20 PHP
PHP的Yii框架中View视图的使用进阶
Mar 29 PHP
php实现登陆模块功能示例
Oct 20 PHP
Laravel中获取路由参数Route Parameters的五种方法示例
Sep 29 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
SESSION存放在数据库用法实例
2015/08/08 PHP
Symfony2创建基于域名的路由相关示例
2016/11/14 PHP
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
js使用函数绑定技术改变事件处理程序的作用域
2011/12/26 Javascript
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
JS清除字符串中重复值的实现方法
2016/08/03 Javascript
详解能在多种前端框架下使用的表格控件
2017/01/11 Javascript
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
Javascript将图片的绝对路径转换为base64编码的方法
2018/01/11 Javascript
详解小程序输入框闪烁及重影BUG解决方案
2018/08/31 Javascript
过滤器vue.filters的使用方法实现
2019/09/18 Javascript
python生成指定长度的随机数密码
2014/01/23 Python
Python中类的初始化特殊方法
2017/12/01 Python
详解python中asyncio模块
2018/03/03 Python
python实现简易通讯录修改版
2018/03/13 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
python异常处理之try finally不报错的原因
2020/05/18 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
canvas进阶之如何画出平滑的曲线
2018/10/15 HTML / CSS
工程力学硕士生的自我评价范文
2013/11/16 职场文书
英语生日邀请函
2014/01/23 职场文书
鲜花方阵解说词
2014/02/13 职场文书
《记金华的双龙洞》教学反思
2014/04/19 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
四风查摆剖析材料
2014/10/10 职场文书
2014年大学班长工作总结
2014/11/14 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
鉴史问廉观后感
2015/06/10 职场文书
2015暑假打工实践报告
2015/07/13 职场文书
JavaScript实现简单拖拽效果
2021/09/15 Javascript
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers