iframe实现Ajax文件上传效果示例


doctype html> 
<html> 
<head> 
<meta charset=utf-8> 
<head> 
<title>ajax 文件上传~~title> 
head> 
<script> 
window.onload=function(){ 
var form=document.getElementsByTagName('form')[0]; 
form.onsubmit=function(){ 
var iframe=document.createElement('iframe'); 
iframe.src='do_upload.php'; 
var iframe_name="iframe"+Math.random(); 
iframe.name=iframe_name; 
document.body.appendChild(iframe); 
iframe.style.width='0px'; 
iframe.style.height='0px'; 
iframe.frameBorder='0'; 
form.target=iframe_name; 
} 
} 
script> 
<body> 
<form enctype='multipart/form-data' method='post' action='do_upload.php'> 
请选择文件:<input type='file' name='myFile'/><br/> 
<input type='submit'/> 
<div id='msg'>div> 
form> 
body> 
html> 

PHP部分

<?php 
$up_file=$_FILES['myFile']; 
if($up_file['error']===0){ 
if(!file_exists('./imgs')){ 
mkdir('./imgs'); 
} 
$save_name=rand().$up_file['name']; 
$bool=move_uploaded_file($up_file['tmp_name'],"./imgs/$save_name"); 
if($bool){ 
$msg='上传成功!'; 
}else{ 
$msg='上传失败!'; 
} 
} 
echo 
""; 
?>