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

5/5 - (6 votes)

“PHP MySQL Multi Images Upload” üzerine bir yorum

Yorum yapın