:: ANASAYFA » PHP » Database'e resim kaydetmek
 
Database'e resim kaydetmek

Bir site yaptım HTML kodlarıyla. bu sitenin bir sayfasında kullanılmak üzere bir database ve amacıma uygun bir tablo yarattım. şimdi PHP ile yapmaya çalıştığım , yapmak istediğim siteden gözat butonuyla bilgisyardan eklemek istediği resmi seçsin acıklamasını da yazıp ikisini kaydet butonuyla databasedeki tabloya kaydettin istiyorum bunu nasıl yapabilirim acaba lütfen beni bilgilendirirmisiniz??

Resmi direkt databasede tutmak iyi değildir. Database boyutunu çok arttıracağı için sistemin yavaş çalışmasına neden olur. Bunun için sadece resim yolunu databasede tutmak daha akıllıcadır. Bu yüzden tablonuzda iki alan olsun birincisi resim yolu diğeride açıklama kısmı. HTML formu ile de resim bilgisini ve açıklama kısmını alın. Bununla ilgili resim yükleme dökümanına bakabilirsiniz.
Diyelim ki resim klasörüne yükleyeceğiz resimleri. resim klasörüne 777 CHMOD yetkisi vermeniz gerekir. Böylece klasör işine resim yükleyebilirsiniz.
Yükleme sonrasıda yükleme yerini ve açıklama kısmını database'e gireriz.
Basit bir kod vermek gerekirse

tablo : resimler ( resimid, resimyolu, aciklama)

HTML kodumuz :

 
 
Code<form action="upload.PHP" method="post" enctype="multipart/form-data">
Yuklenecek Resim : <input type="file" name="resim"><br>
Aciklama : <input type="text" name="aciklama"><br>
<input type="submit" name="submit" value="YUKLE">
</form>
 
 

upload.PHP dosyamiz
 
 
Code<?PHP
if(isset($_POST['submit'])) // Formumuzun post edilip edilmedigini kontrol ediyoruz
{
$err = 0;

$resim = $_FILES['resim']
$aciklama = $_POST['aciklama'];

if($resim['size']>2000000) $err = 1; // Sayi kismina resmin buyuklugunu girerek ust limit belirliyebilirsiniz

$i = strlen($resim['name']);
$type = substr($resim['name'],($i-3),3); // resmin uzantisini aliyoruz. Degisik yol ile yapmak mumkun

if($type<>"jpg" AND $type<>"gif" AND $type<>"png") $err = 1; // resmin turunu kontrol ediyoruz

$yeniresim = "kullanici_resmi_".time(); // resmi yeniden adlandiriyoruz.

$yer = "resim/".$yeniresim.".".$type; // resim yerini belirliyoruz.

if($err == 0) {
copy($resim['tmp_name'],$yer); // Resmi kopyaliyoruz. UnutmaCHMOD 777 olmali

if(file_exists($loc)) { // resim basari ile yuklenmis mi die kontrol ediyoruz/
$db->query("INSERT INTO resimler(resimid,resimyolu,aciklama) VALUES ('',".$db->check($yer).",".$db->check($aciklama).")");
}
}
}
?>
 
 

Gosterirken de sadece yapman gereken resimler tablosundan bilgileri cekmek ve resim yolunu img taginde belirtmek

 
 
Code<img src="<?PHP echo $resimyolu; ?>" alt="<?PHP echo $aciklama; ?>">
 
 


Kodlari ilgili dokumanlari okuyarak gelistirmen mumkun, basit bir ornek olarak verdim. $db değişkeni içinde ilgili database işlemleri classına bakabilirsin.
çok sağolun tam isteğim şey teşekkür ederim :)
YENI CEVAP
 
E-Mail Adresiniz
»
E-Mail adresiniz site icinde gosterilmeyecektir!  
   
 
Cevabiniz
»
Lütfen kodlariniz için [CODE] belirtecini kullaniniz!  
  Add CODE Quote BOLD ITALIC Underline Align Left Align Center Align Right Add Line  
   
 
Güvenlik Kontrolü
»
Lütfen alttaki güvenlik kodunu giriniz!  
   
 
       
 
 
Quaware Internet Solutions And Consulting - SEO Search Engine Optimization, Website development and design, eCommerce, Online Payment Systems, Shopping Cart, Affiliates Website Designer, Search Engine Optimization Expert, Ajax Developer,Developed And Designed By Mumin Celik With Using PHP, MySQL, CSS, JavaScript, Ajax And Search Engine Optimizer Sinema, Film, Ask, Tekgul, Mutluluk