Php de foto galeri programı


Merhaba arkadaşlar bugünde sizlerle bir fotoğraf galerisi yapacağız öncelikle şöyle açıklayım php çok kolay ve açık uçlu bir kod yapısına sahiptir ve kullanıcıların tüm ihtiyaçlarını karşılar ve asp,joomla gibi dillerin yaptığı ve yapamadığı her şeyi yapabilir. Hadi başlayalım.

1) Bir veritabanı oluşturmanız gerekli ben galeri  şeklinde oluşturdum ve resim diye bir tablo ekledim
ve sırasıyla id,resim,resimadi,kucukresim,tarih şeklinde sütunlar oluşturdum id'nin türüne int ve ekstrasınada auto_increment olarak belirledim ve birincil anahtar olarak seçtim diğer sütünları ise varchar olarak belirledim kullanımınıza göre uzunluğunu kendiniz ayarlayabilirsiniz  veri tabanı hakkında bilgi sahibi olmayan arkadaşlar için de buradan detaylı bilgiyi alabilirler.

2) Şimdi gelelim tasarım ve kodlarımızı yazmaya önce bir tasarım yapalım ben en basit haliyle bir tasarım yapacağım siz kendi kullanımınıza göre değiştirebilirsiniz.

  • form oluşturuyoruz
  • formun içerisine tablomuzu oluşturuyoruz ben 5 satırlı 2 sütunlu bir tablo oluşturdum
  • resim adı, tarih şeklinde textbox oluşturuyoruz ve resim adında bir dosya alanı oluşturuyoruz.
  • son olarak da gönder butonu.
Ekran Çıktısı:












Gelelim kodlarımızı yazmaya :

kodları yazmadan önce yaptığınız dosyanın yanında haber_kucuk ve haber_buyuk şeklinde iki adet klasör oluşturun ki yüklediğiniz resimler bu klasörde bulunsun. Yani ben resimekle.php dosyasının yanına bu klasörleri oluşturdum.
Veri tabanına baglanmak için ve olası kargaşadan uzak durmak için baglan.php adında bir php dosyası oluşturuyoruz.
baglan.php
<?
$yer = mysql_connect("localhost","root","root") or die ("MySQL'e Bağlanamadım.");
$baglan = mysql_select_db ("galeri",$yer) or die ("Veritabanına Bağlanamadım.");

?>
localhost: Kullandığım appserv.
root: localhosta'a girerken kullandığım kullanıcı adım
root: localhosta'a girerken kullandığım şifrem
galeri: Veri tabanın adı
Not: Tarih adındaki textbox'ın başlangıç değerine <? echo date('d.m.Y');?> yazar iseniz otamatik olarak sistemin ay,gün ve yılını alır bilginize.
<?
include("../baglan.php"); // burada formdan POST metoduyla gelen bilgileri rahat kullanabilmek icin degiskenlere aktariyoruz
$resimadi=$_POST[resimadi];
$resim=$_POST[resim];
$tarih=$_POST[tarih];
// resim ayarlari burada
$haber_kucuk_resim_klasor="haber_kucuk"; // bu klasorleri acmayi unutmayin
$haber_buyuk_resim_klasor="haber_buyuk"; // mutlaka bu iki klasore yazma izni vermelisiniz chmod 777

if($_POST["gonder"])// eger gonder butonuna tıklanırsa gerekli islemleri yap anlamında
{ //echo "kayıta basıldı";
if(strlen($_FILES["resim"]["name"]))
{// eger resim varsa bu resmi turkce karakterlerden temizledikten sonra
// resim ve  kucukresim olmak uzere iki tane resme donusturecegiz
// echo "resim devrede resim=$resim";

$bul=$_FILES["resim"] ;// dosya alanındaki dosyanın adını alıyoruz
$bulunacak = array('ç','Ç','ı','İ','ğ','Ğ','ü','ö','Ş','ş','Ö','Ü',',',' ','(',')','[',']'); // değişecek karakterleri giriyoruz
$degistir  = array('c','C','i','I','g','G','u','o','S','s','O','U','','_','','','',''); // degisen karakterlerin yerine ne geleceğini belirliyoruz

$_FILES["resim"]=str_replace($bulunacak, $degistir, $bul); // degistirme isleminini yapıyoruz

$resim = "$haber_buyuk_resim_klasor/".$_FILES["resim"]["name"];
move_uploaded_file($_FILES["resim"]["tmp_name"],$resim);

$kucukresim  = "$haber_kucuk_resim_klasor/".$_FILES["resim"]["name"];
move_uploaded_file($_FILES["resim"]["tmp_name"],$kucukresim);
                // turkce karakterlerden temizleme bitti ve assagidaki sorgumuzu calıstırıyoruz iste veri tabanına ekleme islemi bitti.
if (mysql_query("insert into resim values ('','$resim','$resimadi','$kucukresim','$tarih')"))
{echo " kaydedildi"; $resim="";$kucukresim="";}
else echo " KAYDEDİLEMEDİ...!";

}



}
?>
Gelelim şimdi eklediğimiz resimleri görmeye ve silmeye:
Ben resimgor.php adında bir dosya oluşturudum ve şu kodları yazdım.

<?
include ("baglan.php");
if($_GET[islem] == sil)//$_GET[islem]== sil su anlama geliyor ben işlemde sil kısmındaki bağa  resimgor.php?bilgi=<? echo $alan  ['id'] ?>&islem=sil şeklinde php kodu gömdüm burada ki amaç eğer işlem sil ise ve silinecek dosyanın id'si $id eşit ise sil
{
$id=$_GET[bilgi];
$sorgu=mysql_query("select * from tabloresim where id='$id'");
while($satir=mysql_fetch_array($sorgu))
//silecegimiz resimlerin yolunu almak icin sorgu cekiyoruz
{
   $kucuk_adres=$satir['kucukresim'];
$buyuk_adres=$satir['resim'];
}

if ( mysql_query("delete from tabloresim where id=$id") && unlink($buyuk_adres) && unlink($kucuk_adres))
echo "Silme İşlemi tamamlandı";
else
echo "Silme sırasında hata oluştu.";
}
?>

son olarakda index sayfasınıda oluşturalım.
index.php

<?
include("../baglan.php");
$sor=mysql_query("select * from tabloresim ");
while($yaz=mysql_fetch_array($sor)){
$resim="resim/".$yaz['kucukresim'];
$resim2="resim/".$yaz['resim'];
$resimadi=$yaz['resimadi'];
$tarih=$yaz['tarih'];
echo $sor;
?>

<table width="400" border="0" align="left" cellpadding="0" cellspacing="0">
  <tr>
    <td width="135" rowspan="2"><img src="<? echo $alan['resim'];?>" alt="" width="150" height="150" /></td>
    <td width="259"><a href="$resim2<? echo $alan['$resimadi'];?> "><? echo $alan['$tarih']?></a></td>
  </tr>
</table>
<? } ?>

Doyayı buradan indirebilirsiniz. İndireceğiniz dosya tamamen anlattığım tasarımla farklıdır bilginize.



Yorumlar

Bu blogdaki popüler yayınlar

Siteye Facebook ve Twitter Paylaş Butonu Ekleme

Php Grafik İşlemleri Ve Kare Çizme

Ethernet Geçerli Bir IP Yapılandırmasına Sahip Değil Hatası