php+html5使用FormData对象提交表单及上传图片的方法


Posted in PHP onFebruary 11, 2015

本文实例讲述了php+html5使用FormData对象提交表单及上传图片的方法。分享给大家供大家参考。具体分析如下:

FormData 对象,可以把form中所有表单元素的name与value组成一个queryString,提交到后台。在使用Ajax提交时,使用FormData对象可以减少拼接queryString的工作量。

使用FormData对象

1.创建一个FormData空对象,然后使用append方法添加key/value

var formdata = new FormData();  

formdata.append('name','fdipzone');  

formdata.append('gender','male');

2.取得form对象,作为参数传入到FormData对象

<form name="form1" id="form1">  

<input type="text" name="name" value="fdipzone">  

<input type="text" name="gender" value="male">  

</form>

var form = document.getElementById('form1');  

var formdata = new FormData(form);

使用FormData提交表单及上传文件:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  

<html>  

 <head>  

  <meta http-equiv="content-type" content="text/html; charset=utf-8">  

  <title> FormData Demo </title>  

  <script src="/js/jquery-1.11.0.min.js"></script>  

  <script type="text/javascript">  

  <!--  

    function fsubmit(){  

        var data = new FormData($('#form1')[0]);  

        $.ajax({  

            url: 'server.php',  

            type: 'POST',  

            data: data,  

            dataType: 'JSON',  

            cache: false,  

            processData: false,  

            contentType: false  

        }).done(function(ret){  

            if(ret['isSuccess']){  

                var result = '';  

                result += 'name=' + ret['name'] + '<br>';  

                result += 'gender=' + ret['gender'] + '<br>';  

                result += '<img src="' + ret['photo']  + '" width="100">';  

                $('#result').html(result);  

            }else{  

                alert('提交失??);  

            }  

        });  

        return false;  

    }  

  -->  

  </script>  

 </head>  

 <body>  

    <form name="form1" id="form1">  

        <p>name:<input type="text" name="name" ></p>  

        <p>gender:<input type="radio" name="gender" value="1">male <input type="radio" name="gender" value="2">female</p>  

        <p>photo:<input type="file" name="photo" id="photo"></p>  

        <p><input type="button" name="b1" value="submit" onclick="fsubmit()"></p>  

    </form>  

    <div id="result"></div>  

 </body>  

</html>

server.php如下:

<?php  

$name = isset($_POST['name'])? $_POST['name'] : '';  

$gender = isset($_POST['gender'])? $_POST['gender'] : '';  

$filename = time().substr($_FILES['photo']['name'], strrpos($_FILES['photo']['name'],'.'));  

$response = array();  

if(move_uploaded_file($_FILES['photo']['tmp_name'], $filename)){  

    $response['isSuccess'] = true;  

    $response['name'] = $name;  

    $response['gender'] = $gender;  

    $response['photo'] = $filename;  

}else{  

    $response['isSuccess'] = false;  

}  

echo json_encode($response);  

?>

运行效果如下图所示:

php+html5使用FormData对象提交表单及上传图片的方法

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php项目打包方法
Feb 18 PHP
详解PHP错误日志的获取方法
Jul 20 PHP
PHP经典面试题之设计模式(经常遇到)
Oct 15 PHP
PHP使用socket发送HTTP请求的方法
Feb 14 PHP
CodeIgniter生成静态页的方法
May 17 PHP
thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
May 19 PHP
php微信开发之图片回复功能
Jun 14 PHP
Yii框架学习笔记之session与cookie简单操作示例
Apr 30 PHP
php生成HTML文件的类方法
Oct 11 PHP
Yii框架视图、视图布局、视图数据块操作示例
Oct 14 PHP
基于thinkphp6.0的success、error实现方法
Nov 05 PHP
PHP 技巧 * SVG 保存为图片(分享图生成)
Apr 02 PHP
php判断并删除空目录及空子目录的方法
Feb 11 #PHP
php获取YouTube视频信息的方法
Feb 11 #PHP
php实现图片局部打马赛克的方法
Feb 11 #PHP
php实现获取文件mime类型的方法
Feb 11 #PHP
php强制更新图片缓存的方法
Feb 11 #PHP
Laravel中使用自己编写类库的3种方法
Feb 10 #PHP
Laravel中使用阿里云OSS Composer包分享
Feb 10 #PHP
You might like
请离开include_once和require_once
2013/07/18 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
ie8本地图片上传预览示例代码
2014/01/12 Javascript
JavaScript获取Url里的参数
2014/12/18 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
Node.js实现数据推送
2016/04/14 Javascript
JavaScript简单下拉菜单特效
2016/09/13 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
js实现敏感词过滤算法及实现逻辑
2018/07/24 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
pycharm安装图文教程
2017/05/02 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
python使用PIL实现多张图片垂直合并
2019/01/15 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
python 三元运算符使用解析
2019/09/16 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
pyspark 随机森林的实现
2020/04/24 Python
python中tkinter窗口位置\坐标\大小等实现示例
2020/07/09 Python
python创建文本文件的简单方法
2020/08/30 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
CSS3 中filter(滤镜)属性使用详解
2020/04/07 HTML / CSS
CSS3 画基本图形,圆形、椭圆形、三角形等
2016/09/20 HTML / CSS
写出二分查找算法的两种实现
2013/05/13 面试题
区域总监的岗位职责
2013/11/21 职场文书
新疆民族团结演讲稿
2014/08/27 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
关于国庆节的广播稿
2015/08/19 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
Python实现制作销售数据可视化看板详解
2021/11/27 Python
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android