30 Mayıs 2017 - Salı
HABERLER
Download http://bigtheme.net/joomla Free Templates Joomla! 3
Anasayfa / Web Master / PHP Scripts / PHP MySQL Multi Images Upload

PHP MySQL Multi Images Upload

PHP MySQL Multi Images Upload
PHP MySQL Multi Images Upload

Merhaba arkadaşlar. Ben dahil çoğu kişinin projelerinde birden fazla (multi images) resim yüklemeyle ilgili sorunları olmuştur. Bir kaç gündür bunun üzerine araştırmalar yaptım. Tayfun Erbilen‘in verot.net upload sınıfıyla anlattığı dersi izledim. Localhostta denediğim vakit kodların gayet güzel bir şekilde çalıştığını gördüm. Lakin bu işlemleri veri tabanına nasıl kaydedecektim. (Yeni yeni proje geliştirenler için saatlerce uğraşılan bir sorun olduğunu gördüm.) Uzun araştırmalarım sonucunda onunda üstesinden gelip sistemi localhost + 2 farklı sunucu üzerinde test ettiğimde olumlu sonuçlar aldım.

Kodlarımızın nasıl çalıştığını inceleyelim;

Öncelikle çalışacağın projenizin içerisinde index.php adında bir dosya oluşturun ve içerisine aşağıdaki HTML kodlarını yazın,

<!DOCTYPE HTML>
<html lang=”en-US”>
<head>
<meta charset=”UTF-8″>
<title>PHP Multi Image Upload</title>
</head>
<body>
<form action=”yukle.php” method=”post” enctype=”multipart/form-data”>
<p>
<label>Resimleri Seçiniz :</label>
<input type=”file” name=”resim[]” multiple=”multiple” />
</p>
<input type=”submit” name=”yukle” value=”Yükle” />
</form>
</body>
</html>

Daha sonra post işlemlerini yapacağımız yukle.php dosyaımızı oluşturup aşağıdaki kodları ekleyin.
NOT: İsterseniz dosyanızın adını değiştirebilirsiniz. O zaman form daki action kısmını da değiştirmeniz gerekmekte.

<?php

// include ‘ayar/baglanti.php’;
require ‘class.upload.php’;

$resim_sayisi = count($_FILES[“resim”][“name”]);
for($i=0; $i<$resim_sayisi; $i++){

$name = $_FILES[“resim”][“name”][$i]; //Resmimizin adı
$type = $_FILES[“resim”][“type”][$i]; //Resmimizin dosya uzantısı
$tmp_name = $_FILES[“resim”][“tmp_name”][$i]; //Resmimizin geçici dosya yolu
$error = $_FILES[“resim”][“error”][$i]; //Resmimizle ilgili hata kodu
$size = $_FILES[“resim”][“size”][$i]; //Resmimizin dosya boyutu

$resim = array(

‘name’ => $name ,
‘type’ => $type ,
‘tmp_name’ => $tmp_name ,
‘error’ => $error ,
‘size’ => $size ,

);

$yukle = @new upload($resim);

if($yukle->uploaded){

$yukle->image_watermark = ‘images/almac.png’;
$yukle->image_text_direction = ‘h’;
$yukle->image_text_position = ‘L’;
$emrylmz = “netortami-net”;
$isim = $yukle->file_new_name_body = ’emrylmz’.’-‘.$emrylmz;
$yukle->Process ( “resimler/” );
$resimkucuk = “resimler/”.$isim;

if($yukle->processed){

$resimkucuk = $yukle->file_dst_name;

print ‘Resim yukleme islemi basarili <br /><br />’;

// echo ‘<script type=”text/javascript”>document.location.href=”index.php”</script>’;

// $sorgu = $db->query(” INSERT INTO image (url) VALUES (‘$resimkucuk’) “);

} else {

print ‘Bir sorun olustu: ‘.$yukle->error;

}

}

}

?>

Dosyalarımızı oluşturduktan sonra verot.net upload sınıfını indirip index.php ve yukle.php dosyalarımızla aynı dizine atıyoruz. Upload sınıfını    buradan    indirebilirsiniz.

Bütün bu işlemleri yaptıktan sonra dosyalarınızı test edebilir oluşan hataları konu altında dile getirebilirsiniz..

Resimleri Veri Tabanına Ekleme İşlemi:

Ekte verdiğim dosyayı bilgisayarınıza indirdikten sonra localhosttunuzda bir veri tabanı oluşturun. Oluşturduğunuz bu veri tabanına resim ya da  resimler adında 2 sütundan oluşan bir tablo ekleyin. İndirdiğiniz dosyaların içinde bulunan ayar klasöründe ki baglanti.php dosyasını açın ve veri tabanı bilgilerinizi girin. Bilgilerinizi girdikten sonra yukle.php dosyasını açın,

3. satırda bulunan yorum satırını kaldırın,
41. satırı komple kaldırın,
43. ve 44. satırdaki yorum satırlarını da kaldırıp 43. satırı oluşturduğunuz veri tabanı bilgilerine göre düzenleyin.

Bütün bu işlemleri yaptıktan sonra resim yükleme işlemini test ettiğiniz vakit dosyalarınız veri tabanına kaydedildiğini göreceksiniz.

Password / Şifre: www.netortami.net

Multi Images Download

Öneriler

PHP İtiraf Scripti

PHP İş Başvuru Formu

İnternette çok aranan bir form olduğundan vakti zamanında phpproje ekibinin hazırlamış olduğu ve arşivimde bulunan …

5 Yorumlar

  1. hocam güzel olmuş yalnız şöyle bir problem var veritabanına kaydederken, resimlerin her birini ayrı tablo yapıyor.

  2. Teşekkür ederim, ben veritabanımda tablo yapımı resimdeki gibi ayarlayıp kullanıyorum.

    http://i.hizliresim.com/o7PpVo.png

    Bu şekilde INNER JOIN metodunu ya da iç içe SQL komutunu kullanıp kullanmak istediğim yerde çok rahat bir şekilde kullanabiliyorum. Sorunu sizde resimle gösterebilirseniz daha hızlı çözüme kavuşturabiliriz.

  3. Paylaşım için teşekkürler. Bende öğrenme aşamasındayım. Sendeki PostID kısmını yapmak istedim çözemedim.

  4. Selam kardeşim.

    Örneğin emlak scripti yapıyorum emlak adında tablom var. bu tabloda satilik-resimyol, satilik-icerik v.s sütunlarım ben siteden id ye göre çağırdığım konuya panelden o id ye göre eklediğim resimleri nasıl çekerim bunu bulamadım hiçbiryerde ve mantığını da kuramıyorum bir türlü

    • Resimleri ayrı bir tabloda tutuyorsanız konularla ilişkili bir sütunu ilişkilendirmeniz gerek.
      Örnek;
      user adında bir tablonuz olsun. Tablo yapısı da

      id, isim, soyisim, sifre, email, durum, tarih

      şeklinde olsun.

      Bir de user_picture adında bir tablomuz olsun. Bu tablo yapısı da

      id, uId, image

      şeklinde olsun. Bundan sonrasında INNER JOIN ya da iç içe SQL komutunu kullanarak bilgileri çekebilirsiniz.

      http://i.hizliresim.com/o7PpVo.png bu şekilde bir tablo yapım vardır. INNER JOIN metoduyla çok rahat bir şekilde resimleri çekebiliyorum.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir