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 相关文章推荐
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
Oct 31 PHP
PHP数组无限分级数据的层级化处理代码
Dec 29 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
Jul 01 PHP
PHP获取一个字符串中间一部分字符的方法
Aug 19 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
分享常见的几种页面静态化的方法
Jan 08 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
Mar 24 PHP
php实现window平台的checkdnsrr函数
May 27 PHP
PHP框架Laravel插件Pagination实现自定义分页
Apr 22 PHP
Yii Framework框架使用PHPExcel组件的方法示例
Jul 24 PHP
php将字符串转换为数组实例讲解
May 05 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
php下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
2011/10/29 PHP
PHP中ob_start函数的使用说明
2013/11/11 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
jquery 插件学习(二)
2012/08/06 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
JS实现根据密码长度显示安全条功能
2017/03/08 Javascript
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
Vue-Access-Control 前端用户权限控制解决方案
2017/12/01 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
python调用windows api锁定计算机示例
2014/04/17 Python
Python实现提取文章摘要的方法
2015/04/21 Python
python实现读取并显示图片的两种方法
2017/01/13 Python
python 把列表转化为字符串的方法
2018/10/23 Python
Pycharm无法显示动态图片的解决方法
2018/10/28 Python
Python OOP类中的几种函数或方法总结
2019/02/22 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
葡萄牙语专业个人求职信
2013/12/10 职场文书
5s标语大全
2014/06/23 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
班主任工作实习计划
2015/01/16 职场文书
绵山导游词
2015/02/05 职场文书
老人节主持词
2015/07/04 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
Django基础CBV装饰器和中间件
2022/03/22 Python