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 命名空间实例说明
Jan 27 PHP
解析php中const与define的应用区别
Jun 18 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
Nov 19 PHP
PHP生成指定随机字符串的简单实现方法
Apr 01 PHP
Smarty实现页面静态化(生成HTML)的方法
May 23 PHP
PHP Ajax实现无刷新附件上传
Aug 17 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
Dec 02 PHP
PHP中的函数声明与使用详解
May 27 PHP
PHP实现转盘抽奖算法分享
Apr 15 PHP
PHP PDOStatement::nextRowset讲解
Feb 01 PHP
Yii框架的布局文件实例分析
Sep 04 PHP
php定期拉取数据对比方法实例
Sep 22 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
Amazon Prime Video平台《无限住人 -IMMORTAL-》2020年开始TV放送!
2020/03/06 日漫
php 创建以UNIX时间戳命名的文件夹(示例代码)
2014/03/08 PHP
使用新浪微博API的OAuth认证发布微博实例
2015/03/27 PHP
PHP7 新特性详细介绍
2016/09/06 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
PHP让数组中有相同值的组成新的数组实例
2017/12/31 PHP
jquery多浏览器捕捉回车事件代码
2010/06/22 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
Javascript全局变量var与不var的区别深入解析
2013/12/09 Javascript
使用js判断控件是否获得焦点
2014/01/03 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
JS简单循环遍历json数组的方法
2016/04/22 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
手机端转换rem适应
2017/04/01 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
2017/07/28 Javascript
React-Native中props具体使用详解
2017/09/04 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
关于layui toolbar和template的结合使用方法
2019/09/19 Javascript
[48:02]Ti4循环赛第三日 VG vs Liquid和NEWBEE vs DK
2014/07/12 DOTA
深入讲解Python中面向对象编程的相关知识
2015/05/25 Python
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
Python面向对象之类的定义与继承用法示例
2019/01/14 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
爱护花草树木的标语
2014/06/11 职场文书
2014年招商工作总结
2014/11/22 职场文书
2015年先进个人自荐书
2015/03/24 职场文书
少儿励志名言(80句)
2019/08/14 职场文书