• 22-03-2016, 17:16:45
    #1
    Arkadaşlar bilmeyenler için duyurmuş olayım bilenlerden de yardım isteyeyim

    Blueimp jquery kütüphanesi kullanan dosya upload etme scriptidir.

    Acaba kullanan var mı? Tam olarak anlayamadım açıkcası. Normal çalışıyor upload ediyor siliyor falan ama ben bunu veritabanına bağlayacağım. Sadece mantığını tam net olarak çözemedim. Şöyle ki, dosyaları klasörden okuyor ben veritabanına bağlayıb ilgili dosyaları göstereceğim acaba kullanan oldu mu? birkaç sorum olacak.
  • 22-04-2017, 17:07:02
    #2
    Bende Yeni Kullanmaya Başladım... Mp3 Harici Dosya Yüklenmesini Engellemek İsyiorum.. Ama birtürlü başaramadım...
  • 23-04-2017, 04:25:43
    #3
    anarsamadov adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar bilmeyenler için duyurmuş olayım bilenlerden de yardım isteyeyim

    Blueimp jquery kütüphanesi kullanan dosya upload etme scriptidir.

    Acaba kullanan var mı? Tam olarak anlayamadım açıkcası. Normal çalışıyor upload ediyor siliyor falan ama ben bunu veritabanına bağlayacağım. Sadece mantığını tam net olarak çözemedim. Şöyle ki, dosyaları klasörden okuyor ben veritabanına bağlayıb ilgili dosyaları göstereceğim acaba kullanan oldu mu? birkaç sorum olacak.
    Zamanım çok olmadığından, elimden geldiğince sadece Teorik olarak yardımcı olmaya çalışacağım.

    Veritabanı bağlantısı için iki yolumuz mevcut.

    1. yol: kütüphane yapımcısının kendi yöntemiyle önerdiği https://github.com/blueimp/jQuery-Fi...se-integration bu linkteki metod.

    2. yol ise kendi geliştireceğimiz bir metod.
    ilgili kütüphanenin eventları mevcut örneğin, done eventı her dosya için yükleme tamamlanınca çalışmaktadır, stop eventı ise tüm yüklemeler tamamlanıp upload işlemi durduğunda çalışmaktadır.

    bu metodda örneğin: dosyaların yüklendiği klasörü biliyoruz (files klasörü) veritabanı işlemi yapabilmemiz için dosya isimlerinin bize bir şekilde post edilmesi yeterli.

    Bir formumuz olduğunu düşünelim, dosyalar yüklendikçe bu forma bir input hidden atıp value olarak yüklenen dosyaların adlarını yazdıracağız ve yüklemeler tamamlanınca da formu post edip php de dosya adlarını elde edeceğiz.

    Jquery init $('#fileupload').fileupload yaptığınız kod bloğuna aşağıda ki eventları tanımlayın, kodda açıklamalar mevcut.

    done: function (e, data) {
    	$.each(data.result.files, function (index, file) {
    		if (file.error != '' && file.error != 'undefined' && file.error != null)
    		{
    			//dosya yüklenemedi
    		}else{
    			//dosya yüklendi
    		}
    		
    		//alttaki satırda #Form id li formumuzda bir input hidden yazıyoruz, valueside yüklenen dosyanın adı
    		$('<input>').attr({
    			type: 'hidden',
    			//id: 'foo',
    			name: 'dosya[]',
    			value: file.name,
    		}).appendTo('#Form');
    	});
    },
    
    stop: function (e, data) {
    	//uploadlar bittiği için formumuzu post ediyoruz.
    	$('#Form').submit();
    }
    sonrasında ise form post edildiğindei post ettiğiniz php kısmında $_POST['dosya'] bize array olarak tüm dosyaların adlarını döndürecektir

    print_r($_POST['dosya']); ile inceleyebilirsiniz.

    Sonrasında $_POST['dosya'] foreach döngüsüne sokup dosya isimleri veritabanına kaydedebilir, dilerseniz ilgili dosyaları files klasöründen başka bir klasöre php rename fonksiyonu ile taşıyabilirsininiz. gerisi size kalmış

    Umarım yardımcı olabilmişimdir.
  • 23-04-2017, 11:53:33
    #4
    yasarkemaldag adlı üyeden alıntı: mesajı görüntüle
    Zamanım çok olmadığından, elimden geldiğince sadece Teorik olarak yardımcı olmaya çalışacağım.

    Veritabanı bağlantısı için iki yolumuz mevcut.

    1. yol: kütüphane yapımcısının kendi yöntemiyle önerdiği https://github.com/blueimp/jQuery-Fi...se-integration bu linkteki metod.

    2. yol ise kendi geliştireceğimiz bir metod.
    ilgili kütüphanenin eventları mevcut örneğin, done eventı her dosya için yükleme tamamlanınca çalışmaktadır, stop eventı ise tüm yüklemeler tamamlanıp upload işlemi durduğunda çalışmaktadır.

    bu metodda örneğin: dosyaların yüklendiği klasörü biliyoruz (files klasörü) veritabanı işlemi yapabilmemiz için dosya isimlerinin bize bir şekilde post edilmesi yeterli.

    Bir formumuz olduğunu düşünelim, dosyalar yüklendikçe bu forma bir input hidden atıp value olarak yüklenen dosyaların adlarını yazdıracağız ve yüklemeler tamamlanınca da formu post edip php de dosya adlarını elde edeceğiz.

    Jquery init $('#fileupload').fileupload yaptığınız kod bloğuna aşağıda ki eventları tanımlayın, kodda açıklamalar mevcut.

    done: function (e, data) {
    	$.each(data.result.files, function (index, file) {
    		if (file.error != '' && file.error != 'undefined' && file.error != null)
    		{
    			//dosya yüklenemedi
    		}else{
    			//dosya yüklendi
    		}
    		
    		//alttaki satırda #Form id li formumuzda bir input hidden yazıyoruz, valueside yüklenen dosyanın adı
    		$('<input>').attr({
    			type: 'hidden',
    			//id: 'foo',
    			name: 'dosya[]',
    			value: file.name,
    		}).appendTo('#Form');
    	});
    },
    
    stop: function (e, data) {
    	//uploadlar bittiği için formumuzu post ediyoruz.
    	$('#Form').submit();
    }
    sonrasında ise form post edildiğindei post ettiğiniz php kısmında $_POST['dosya'] bize array olarak tüm dosyaların adlarını döndürecektir

    print_r($_POST['dosya']); ile inceleyebilirsiniz.

    Sonrasında $_POST['dosya'] foreach döngüsüne sokup dosya isimleri veritabanına kaydedebilir, dilerseniz ilgili dosyaları files klasöründen başka bir klasöre php rename fonksiyonu ile taşıyabilirsininiz. gerisi size kalmış

    Umarım yardımcı olabilmişimdir.
    r10+ verdim hocam teşekkür ederim. şuan yurtdışına gitmek üzere hazırlanıyorum döndüğümde inceleyeceğim çok teşekkür ederim.