php上傳整個文件夾


有一個需求就是實現文件夾整個上傳。而不是單個文件上傳
但是只找到這個辦法。適合谷歌的。有更好的。希望大神告知!
按鈕可以自己設計
<form id="uploadForm" enctype="multipart/form-data" style="background-color:#ecf0f5">
<span class="file">上傳文件夾 <input type="file" id="uoloadfile" name="file" webkitdirectory> </span>
</form>
input里加這個屬性webkitdirectory就是默認可以上傳文件夾了。谷歌瀏覽器可以。其他瀏覽器好像不行
js代碼
<script>
    var treeid = 1;
    var uploadcount=0;//這次上傳文件總數
    var backcount=0;
//文件上傳觸發時間
    $("#uoloadfile").change(function(){
        var $list = $('.upload-html');
        var files_arr=[];
        var formData = new FormData();
        files_arr = document.getElementById("uoloadfile").files;//獲取上傳的文件的數據
        var files=[];
        var name="";
        var xhr = new XMLHttpRequest();
        uploadcount=files_arr.length;
        for (var i=0;i<files_arr.length;i++)
        {
            name=files_arr[i].name;
            files=files_arr[i];
            formData.append("cid",treeid);
            formData.append("fname",files.webkitRelativePath);
            formData.append("file",files);
            getajax(formData,name);//執行上傳文件ajax
        }
    });
    function getajax(formData,name){
        $("#thelist2").css("display","block");
        $.ajax({
            url:'{:get_page_action("morefileupload")}',
            type: "POST",
            data: formData,
            async:true,
            processData: false,  // 不處理數據
            contentType: false,
            beforeSend: function(){
                $('.progress').css('color','#1AB394').show();
            },
            success:function(result){
                backcount++;
                if(result.code==1){
                    $('.progress').html(result.msg).css('color','black').fadeOut(10000,function(){$(this).html('')});
                    $('.filename').css('color','black').fadeOut(10000,function(){$(this).html('')});
                }
                if(backcount==uploadcount){
                    $('#thelist2').css('display','none');
                    setTimeout(function(){
                        window.location.reload();
                    },1000);
                }
            },
            xhr: function(){
                var xhr = $.ajaxSettings.xhr();
                if(onprogress && xhr.upload) {
                    xhr.upload.addEventListener("progress", function () { onprogress(event,name) }, false);//監聽文件上傳進度,name文件名
                    return xhr;
                }
            },
            error:function(){
                $('.progress').html(result.msg).css('color','black').fadeOut(10000,function(){$(this).html('')});
                $('.filename').css('color','black').fadeOut(10000,function(){$(this).html('')});
                $('#thelist2').css('color','black').fadeOut(10000,function(){$(this).html('')});
                setTimeout(function(){
                    window.location.reload();
                },1000);
            }
        });
//實現進度條
        function onprogress(evt,name){
            var loaded = evt.loaded;
            var tot = evt.total;
            var txt1="<p class='filename'>"+name+"</p>";
            var txt2="<div class='progress'><div class='bar'";
            txt2+='style=width:';
            txt2+=+Math.floor(100*loaded/tot)+'%'+">";
            txt2+=Math.floor(100*loaded/tot)+'%';
            txt2+=" </div></div>";
            $("#progress-mask").append(txt1,txt2);
        }
    }
</script>
--------------------- 
原文鏈接:https://blog.csdn.net/hexiaoniao/article/details/89231143

 

效果展示: 


在頁面中選擇好相應的上傳目錄,點擊粘貼上傳按鈕,數據即可快速開始上傳

 說明: http://blog.ncmem.com/wordpress/wp-content/uploads/2019/07/20190730094916_47641.png       

 說明: http://bbsres2.ncmem.com/731fda07.png   

數據庫記錄

 說明: http://bbsres2.ncmem.com/ccfc907c.png    

Mac控件安裝教程與演示說明:

http://t.cn/AijgiFgW

http://t.cn/Aijg6z08

 

Linux控件安裝教程與演示說明:

http://t.cn/Aijg6Lv3

http://t.cn/Aijg64k6

 

控件包下載:

MacOShttp://t.cn/Aijg65dZ

Linuxhttp://t.cn/Aijg6fRV

 cab(x86)http://t.cn/Ai9pmG8S 

cab(x64)http://t.cn/Ai9pm04B 

xpihttp://t.cn/Ai9pubUc 

crxhttp://t.cn/Ai9pmrcy 

exehttp://t.cn/Ai9puobe   

 

示例下載: 

php http://t.cn/Ai9p3CKQ   

 

在線教程: 

php-文件管理器教程:http://t.cn/AiNhmilv

 

個人博客:http://t.cn/AiY7heL0

 

www.webuploader.net

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM