merakli
  • merakli
  • 7 yıl önce sordu
  • Php Pdo ile resim nasıl yüklenir?

    Merhaba arkadaşlar ben php pdo kullanarak MySql veritabanına resim kaydetmek,yüklemek istiyorum.Bunu nasıl yapabilirim?Yardımcı olan herkese teşekkür ederim.
    Cevaplar(2)
    ismail
  • ismail
  • 7 yıl önce Cevapladı
  • İlk önce resmi yükleyeceğimiz form sayfasını oluşturuyoruz.Aşağıda kodları verdim.

    Yazılım Soru - Kod Kısmı

    
    <form action="upload.php" method="post" name="resimyukle" enctype="multipart/form-data"> 
    <input type="file" name="resim"/><br/> 
    <input type="text" name="resimaciklama"/><br/>
    <input type="submit" name="gonder" value="Resim yükle"/>
    </form>
    

    Bunları yaptıktan sonra upload.php dosyamızı oluşturuyoruz ve resmi yüklüyoruz ve veritabanına kaydediyoruz.Aşağıdaki kodları kopyalayın ve yapıştırın.

    Yazılım Soru - Kod Kısmı

    
    
    if($_POST){
     
        if ($_FILES["resim"]["size"]<1024*1024){//Dosya boyutu  aldık ve 1Mb'tan az olmasını söyledik.
     
            if ($_FILES["resim"]["type"]=="image/jpeg"){  //Dosya tipi aldık ve sadece jpeg olmasını söyledik.
     
                $aciklama    =     $_POST["resimaciklama"];  //Post ile gelen resimaciklamayı aciklama değişkenine atadık.
                $dosya_adi   =    $_FILES["resim"]["name"];  //Dsoya adını aldık.
     
                //Resimi kayıt ederken yeni bir isim oluşturalım
                $uret=array("cv","fg","th","lu","er");
                $uzanti=substr($dosya_adi,-4,4);
                $sayi_tut=rand(1,10000);
     
                $yeni_ad="yuklenenresimler/".$uret[rand(0,4)].$sayi_tut.$uzanti;
     
                //Dosya yeni adıyla yuklenenresimler klasörüne 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 resimyukleme 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 bir sorun oluştu!';
                }
            }else{
                echo 'Dosya Yüklenemedi!';
            }
        }else{
            echo 'Dosya yalnızca jpeg formatında olabilir!';
        }
        }else{          
            echo 'Dosya boyutu 1 Mb ı geçmemeli!';
        }
    }
    
    

    Resmi yükledik peki şimdi nasıl çekeceğiz? Çok basit :D hemen resimleride çekelim.

    Yazılım Soru - Kod Kısmı

    
    <?php 
    $resimcek = $db->prepare("SELECT * FROM resimyukleme");
    $resimcek->execute(); 
    if($resimcek->rowCount()){ 
    foreach($resimcek as $row){      
            ?>   
            <img src="<?php echo $row["resim"];?>" alt="Buraya aciklamasını felan çekersiniz size kalmış." />  
    <?php 
        }
    }else{
    echo "Henüz hiç resim yok."; 
    }
    ?>
    

    Beğen (1) Yorumlar(0) Yorum Yaz
    Gönder
    ismail
  • ismail
  • 7 yıl önce Cevapladı
  • Yazmayı unutmuşum veritabanını yapmayı unutma.Şu şekilde olsa yeter resim_id, resim, resimaciklama
    Beğen (1) Yorumlar(0) Yorum Yaz
    Gönder

    Cevap yazabilmek için Giriş yapmalısınız.Giriş yapmak için buraya Tıklayın.

    Kodlarınızı aşağıdaki alana yapıştırın.

  • Kod Ekle İptal Et
  • Üyeler
    Blog
    Hakkında
    Lab
    Gece Modu
    Giriş Yap
    Kayıt Ol
  • Giriş Yap
  • Şifremi unuttum
  • Kayıt olmak için tıklayın!