美文网首页PHP
[PHP] php异步上传文件

[PHP] php异步上传文件

作者: 何幻 | 来源:发表于2016-03-03 07:12 被阅读392次

    原理:
    借用隐藏的iframe来实现异步上传

    1. 客户端

    //1.php
    <!doctype html>
    <div>
        <iframe name=targetIframe></iframe>
        <form 
            id=uploadForm
            method=post 
            action=2.php 
            enctype=multipart/form-data 
            target=targetIframe>
                <input type=file name=file />
        </form>
        
        <input id=upload type=button value=upload />
        <script>
            document.querySelector('#upload').onclick=function(){
                document.querySelector('#uploadForm').submit();
            };
        </script>
    </div>
    

    注意:
    (1)form.method=post
    (2)form.enctype=multipart/form-data
    (3)form.target=iframe.name
    这里是借用了一个iframe来显示form.action页面,
    即表单提交后iframe.src= form.action
    如果不设置的话,会在当前页面显示form.action

    2. 服务器端

    //2.php
    <?php
        $fileName=$_FILES["file"]["name"];
        $originFilePath=$_FILES["file"]["tmp_name"];
        $targetFilePath="uploadfiles/".time().$fileName;
        
        $result=move_uploaded_file($originFilePath,$targetFilePath);
        
        echo $result?"Success":"Failed";
    ?>
    

    注意:
    (1)文件首先上传到服务器的临时地址,然后使用move_uploaded_file拷贝到目标地址
    (2)$_FILES["file"]中的file,是表单元素<input type=file name=file />name属性值
    (3)$_FILES["file"]["name"];$_FILES["file"]["tmp_name"];中的nametmp_name
    $_FILES["file"]的内置属性,分别表示原文件名和在服务器上的临时地址。

    相关文章

      网友评论

        本文标题:[PHP] php异步上传文件

        本文链接:https://www.haomeiwen.com/subject/svpnkttx.html