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

时间:2022-01-03 16:26:23
<!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
"<script>
var msg=parent.document.getElementById('msg');
msg.innerHTML='<font color=red>$msg</forn>';
</script>";
?>