php iframe 上传文件

我们通过动态的创建iframe,修改form的target,来实现无跳转的文件上传。
 
具体的实现步骤
1.捕捉表单提交事件
2.创建一个iframe
3.修改表单的target,指向iframe
4.删除iframe
 
file.html代码如下:
<!DOCTYPE HTML>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <form action="upfile.php" method="post" id="upfileForm" enctype="multipart/form-data">
        <input type="file" name="file" />
        <input type="submit" name="submit" value="上传" />
    </form>
    <div id="result"></div>
</body>
<script type="text/javascript" src="./jquery.js"></script>
<script type="text/javascript">
$("#upfileForm").bind("submit", function() {
    var ifrName = 'upfile' + Math.random();
    var ifr = $("<iframe name='" + ifrName + "' width='0' height='0' frameborder='0'></iframe>");
    $("body").append(ifr);
    $(this).attr("target", ifrName);
});
</script>
</html>
upfile.php代码如下:
<?php
$uploadDir = './upload/';
if(!file_exists($uploadDir)) {
    @mkdir($uploadDir, 0777, true);
}
$uploadFile = $uploadDir . basename($_FILES['file']['name']);
if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadFile)) {
    echo "<script>parent.document.getElementById('result').innerHTML='OK';</script>";
} else {
    echo "<script>parent.document.getElementById('result').innerHTML='NO';</script>";
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值