• 17-06-2022, 16:20:55
    #1
    
                  
            
    <script>
        let uploadFiles = null;
        let handleFiles = function(files){
            uploadFiles = [...files];
            uploadFiles.forEach(previewFile);
    
            uploadFile(0);
        }
        let previewFile = function(file) {
    
            $("#files ul").append($("<li>").attr("data-file", file.name).text(file.name).append($("<small>").text("Yüklenmek için sırada")));
        }
        let uploadFile = function(index){
            let file = uploadFiles[index];
            let fileStatus = $("[data-file='" + file.name + "']").find("small");
    
            fileStatus.text("Dosya yükleniyor");
    
            console.log(file);
    
            let fd = new FormData();
            fd.append("test", "burak");
            fd.append("myFile", file);
    
            $.ajax({
                url: "",
                type: "POST",
                dataType: "JSON",
                processData: false,
                contentType: false,
                data: fd,
                timout: 30000,
                error: function() {
                    console.log("Sorun oluştu");
                },
                xhr: function(){
                    let xhr = $.ajaxSettings.xhr();
                    return xhr;
                },
                success: function(json){
                    if (json.status) {
                        fileStatus.text("Başarıyla yüklendi");
                        $("[data-file='" + file.name + "']").fadeOut("fast");
                    
    
                        if (index <= (uploadFiles.length - 1)) {
                            uploadFile(index + 1);
                        }
                    }
                }
            });
        }
    
        window.onload = function(){
            $("#myFile").change(function(){
                handleFiles(this.files);
            });
        }
    
    </script>
    benim böyle bir çoklu dosya yükleme sistemim var bu sisteme sadece mdl ve sma ve tga dosya uzantılarını yüklemek istiyorum başka hiç bir dosya uzantısı yüklenmesin bunu nasıl yapabilirim ?
  • 17-06-2022, 16:25:05
    #2
    Merhaba, ilgili filtrelemeyi javascript tarafında yapmanızı önermem. Zira kolayca aşılabiliyor. PHP tarafında gelen dosyanın adını preg_match() fonksiyonu ile ve
    /.+\.(mdl|sma|tga)/
    şeklindeki pattern ile kontrol edebilirsiniz.
  • 17-06-2022, 16:28:21
    #3
    Misafir adlı üyeden alıntı: mesajı görüntüle
    
                  
            
    <script>
        let uploadFiles = null;
        let handleFiles = function(files){
            uploadFiles = [...files];
            uploadFiles.forEach(previewFile);
    
            uploadFile(0);
        }
        let previewFile = function(file) {
    
            $("#files ul").append($("<li>").attr("data-file", file.name).text(file.name).append($("<small>").text("Yüklenmek için sırada")));
        }
        let uploadFile = function(index){
            let file = uploadFiles[index];
            let fileStatus = $("[data-file='" + file.name + "']").find("small");
    
            fileStatus.text("Dosya yükleniyor");
    
            console.log(file);
    
            let fd = new FormData();
            fd.append("test", "burak");
            fd.append("myFile", file);
    
            $.ajax({
                url: "",
                type: "POST",
                dataType: "JSON",
                processData: false,
                contentType: false,
                data: fd,
                timout: 30000,
                error: function() {
                    console.log("Sorun oluştu");
                },
                xhr: function(){
                    let xhr = $.ajaxSettings.xhr();
                    return xhr;
                },
                success: function(json){
                    if (json.status) {
                        fileStatus.text("Başarıyla yüklendi");
                        $("[data-file='" + file.name + "']").fadeOut("fast");
                    
    
                        if (index <= (uploadFiles.length - 1)) {
                            uploadFile(index + 1);
                        }
                    }
                }
            });
        }
    
        window.onload = function(){
            $("#myFile").change(function(){
                handleFiles(this.files);
            });
        }
    
    </script>
    benim böyle bir çoklu dosya yükleme sistemim var bu sisteme sadece mdl ve sma ve tga dosya uzantılarını yüklemek istiyorum başka hiç bir dosya uzantısı yüklenmesin bunu nasıl yapabilirim ?
    tavsiyem o işi jquery ile yapmaman çünkü gereksiz kod olucak ve sabote imkanı olucak sen en iyisi php üzerinde $_FILES i print et izin verilecek dosya tiplerini gör if ile tipleri düzenle yoksa diğer türlü güvenlik açığına sebep olursunuz.