Pdo ile Resim Yükleme İşlemi

pdoile-resim-yukleme

Pdo ile Resim Yükleme İşlemi

Merhaba arkadaşlar bu konumuzda sizlerle pdo ile veritabanımıza resim yükleme işleminden bahsedeceğim. Resim yükleme işlemi yapılırken dikkat edilmesi gereken kurallardan bazıları şunlardır.

  • Resim boyutunun maximum değerini belirlemek
  • Hangi resim uzantılarının kabul edileceğini belirlemek
  • Ve resimimizin yeni ismini rasgele bir değer atayarak veritabanımıza kayıt etmek(Güvenlik için)

Evet bunları dikkate aldıktan sonra bir upload formu oluşturalım 🙂

<?php

<form action="resimyukle.php" method="post" name="form1" enctype="multipart/form-data">
<input type="file" name="resim"/><input type="text" name="aciklama"/>
<input type="submit" name="gonder" value="Kaydet">
</form>

Formda dikkatinizi çekmesi gereken kısım input type=”file” yani dosya yükleme inputu ve enctype kısmıdır. Enctype kısmı formumuzda bulunmaz ise dosya taşıma işlemi gerçekleşmez.

Şimdi bu formumuzu oluşturduk peki butona basıldıgında post ettiği sayfayı yani resimyukle.php yi nasıl kodlayacağız onada bakalım.. 🙂

<?php

<?php 
if($_POST){if ($_FILES["resim"]["size"]<1024*1024){
//Dosya boyutu 1Mb tan az olsun
if ($_FILES["resim"]["type"]=="image/jpeg"){  
//dosya tipi jpeg olsun
$aciklama    =     $_POST["aciklama"];
$dosya_adi   =    $_FILES["resim"]["name"];//Resimi kayıt ederken yeni bir isim oluşturalım
$uret=array("as","rt","ty","yu","fg");
$uzanti=substr($dosya_adi,-4,4);
$sayi_tut=rand(1,10000);
$yeni_ad="uploadklasoru/".$uret[rand(0,4)].$sayi_tut.$uzanti;//Dosya yeni adıyla upload klasorune kaydedilecek
if (move_uploaded_file($_FILES["resim"]["tmp_name"],$yeni_ad)){

echo 'Dosya başarıyla yüklendi.';//Bilgileri veritabanına kayıt ediyoruz..
$sorgu = $db->prepare("INSERT INTO resimler SET resim=:resim,aciklama=:aciklama");            
$sorgu->execute(array(':resim'=> $yeni_ad,':aciklama'=>$aciklama));    
if ($sorgu){echo 'Veritabanına kaydedildi.';
}else{
echo 'Kayıt sırasında hata oluştu!';
}else{
echo 'Dosya Yüklenemedi!';}
}else{
echo 'Dosya yalnızca jpeg formatında olabilir!';}
}else{
echo 'Dosya boyutu 1 Mb ı geçemez!';
}
}?>

İşlemimiz bu kadar arkadaşlar çok kısa bir süre sonra tüm ekledigim derslerin videolu halinide çekip sizlerle paylaşacağım takipte kalmaya devam ederseniz sevinirim 🙂

Sonraki konuda görüşmek üzere
Kanalıma abone olmayı unutmayın 🙂..

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Yavuz Selim

Yavuz selim