Home >Backend Development >PHP Tutorial >php+html5使用FormData对象提交表单及上传图片的方法_PHP

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

WBOY
WBOYOriginal
2016-05-31 13:16:23856browse

本文实例讲述了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对象

代码如下:

 
 
 

代码如下:

var form = document.getElementById('form1'); 
var formdata = new FormData(form);

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

代码如下:

 
 
 

 
   
  FormData Demo  
   
   
  
  
   
 
       

name:

 
       

gender:male female

 
       

photo:

 
       

 
   
 
   
 
  

server.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程序设计有所帮助。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn