wmaraci reklam
tr.link

Php ile Çoklu Dosya Yükleme

2 Mesajlar 1.478 Okunma
acebozum
tr.link

hajanb hajanb WM Aracı Kullanıcı
  • Üyelik 21.12.2010
  • Yaş/Cinsiyet 44 / E
  • Meslek Amelos
  • Konum İstanbul Anadolu
  • Ad Soyad H** B**
  • Mesajlar 425
  • Beğeniler 78 / 203
  • Ticaret 0, (%0)
Merhabalar, çoğu geliştiricinin karşısına çıkan ve aranan bir konuda bir örnek göstermek istedim. Php ile ajax kullanmadan basit ve kullanışlı bir multiupload script yazacağız. İnternette bir çok multiupload scriptler mevcut bunların bir çoğunu test etme şansım oldu. Çoğu karmaşık ve oldukça yavaş çalışıyor. Aynı zamanda tarayıcı uyumsuzlukları da cabası. Belki işinizi görür diye basit ve geliştirilmeye açık bir multiupload yapayım dedim.

Form kısmını aşağıdaki gibi kaydedelim.








Formdaki enctype ile bir dosya yükleyeceğimizi belirtiyoruz. İnput içerisindeki mutliple özelliği tek pencereden birden fazla dosya seçmemize olanak sağlıyor.

İster aynı php dosyası içerisinde ister farklı bir dosya içerisine aşağıdaki php kodlarımızı kaydedelim. Unutmadan eğer farklı bir dosya içerisinde kullanıyorsak form action kısmını ilgili dosyaya göre düzenlemeliyiz.

$klasor="../uploads";
$dosya_sayi=count($_FILES['dosya']['name']);
for($i=0;$i<$dosya_sayi;$i++){
if(!empty($_FILES['dosya']['name'][$i])){
move_uploaded_file($_FILES['dosya']['tmp_name'][$i],$klasor."/".$_FILES['dosya']['name'][$i]);
$uploadimage = mysql_query(" BURAYA RESMİN KAYDEDİLECEĞİ SORGUYU YAZIN. ");
}
}


Yukarıdaki kod’u açıklamak gerekirse ilk olarak post ettiğimiz dosyaların sayısını count fonksiyonuyla elde ediyoruz. Bu sayı kadar dönecek bir for döngüsü oluşturup dosyalarımızın her birini move_uploaded_file fonksiyonu ile istediğiniz klasöre yazıyoruz. Yazma işleminden sonra dilerseniz bir Veritabanına bu resmin bilgilerini nerede tutulduğunu kaydedebilirsiniz.

Ayrıca resimle ilgili aşağıdaki bilgileri elde etmeniz mümkün.

$_FILES["file"]["name"] – Dosyanın adı.
$_FILES["file"]["type"] – Dosyanın türü
$_FILES["file"]["size"] – Dosyanın kb türünden boyutu
$_FILES["file"]["tmp_name"] – Dosyanın oluşturulan kopyasının ismi
$_FILES["file"]["error"] – Dosya yüklenirken oluşturulan hata kodu

Ve ayrıca aşağıdaki kaynaklar bu konuda işinize yarayabilir.

http://php.net/manual/en/reserved.variables.files.php

http://www.w3schools.com/php/php_file_upload.asp

http://techstream.org/Web-Development/PHP/Multiple-File-Upload-with-PHP-and-MySQL [Detaylı bir ingilizce anlatım yazıyı yazdıktan sonra rastladım. Çok güzel bir kaynak.]
 

 

googleasistan
reklam

FatihC FatihC Yazılım-Tasarım-Matbaa Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 38 / E
  • Meslek Yazılım
  • Konum Malatya
  • Ad Soyad F** C**
  • Mesajlar 99
  • Beğeniler 9 / 12
  • Ticaret 0, (%0)
upload tamam yalnız bunu vtye kaydederken hata alıyorum her bir resim için ayrı id açıp kaydetmiyor ancak implode ile birleştirip virgül atarak kaydediyorum.
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al