怎么在PHP中使用iframe模拟Ajax上传文件

今天就跟大家聊聊有关怎么在PHP中使用iframe模拟Ajax上传文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

文件结构图:

怎么在PHP中使用iframe模拟Ajax上传文件

09-iframe-upload.html文件:

页面中有一个表单,表单中有一个上传文件按钮和提交按钮,点击提交按钮执行ajaxUpload函数,然后动态创建iframe标签,让其不可见,最后设置表单的target属性指向iframe。

<!DOCTYPEhtml>
<html>
<head>
<metacharset="utf-8">
<metahttp-equiv="X-UA-Compatible"content="IE=edge">
<title>iframe模拟Ajax上传文件</title>
<linkrel="stylesheet"href="">
</head>
<scriptsrc="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script>
<script>
/**
*文件上传
*@returnbool是否提交表单
*1、捕捉表单提交的动作
*2、动态创建iframe标签,然其不可见
*3、设置表单的target属性指向iframe
*/
functionajaxUpload(){
variframeName='upload'+Math.random();//给iframe取名
$('<iframename='+iframeName+'width="0"height="0"frameborder="0"></iframe>').appendTo($('body'));//动态创建iframe
$('form:first').attr('target',iframeName);//设置form的target属性
$('#progress').html('<imgsrc="progress.jpg"/>');//显示上传是否成功
//returnfalse;
}
</script>
<body>
<h2>iframe模拟Ajax上传文件</h2>
<h3id="progress"></h3>
<formaction="09-iframe-upload.php"method="post"enctype="multipart/form-data"onsubmit="returnajaxUpload();">
<p><inputtype="file"name="pic"/></p>
<p><inputtype="submit"value="提交"/></p>
</form>
</body>
</html>

09-iframe-upload.php文件:

首先延时3秒,为了能看到加载的图片,然后判断是否有上传文件,然后返回一段Js代码,这段js是在页面中显示是否上传成功

<?php
/**
*iframe模拟Ajax上传文件
*@authorwebbc
*/
sleep(3);//延时3秒
if(empty($_FILES)){
echo'nofile';
}
$error=$_FILES['pic']['error']==0?'succ':'fail';//判断上传是否成功
echo"<script>parent.document.getElementById('progress').innerHTML='$error'</script>";//显示上传是否成功
?>

看完上述内容,你们对怎么在PHP中使用iframe模拟Ajax上传文件有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注恰卡编程网行业资讯频道,感谢大家的支持。

发布于 2021-04-15 01:55:41
收藏
分享
海报
0 条评论
158
上一篇:如何在python中实现句柄操作 下一篇:使用python怎么交换两个列表的元素位置
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码