RSS

Resim Galerisi Yapalım (Ders 1)

17 Nis

Merhaba arkadaşlar bu dersimizde php ile basit bir resim galerisi yapacağız.

1)İlk olarak aşağıdaki gibi bir form oluşturun (action = dosya_yukle.php File Field name = dosya)


<style type="text/css">
<!--
.style3 {
	font-size: 10px;
	color: #666666;
	font-family: Arial, Helvetica, sans-serif;
}
-->
</style>
<form action="dosya_yukle.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <label></label>
  <label></label>
  <table width="387" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td width="285" valign="top"><input name="dosya" type="file" id="dosya" />
        <br />
          <span class="style3">Yükleyeceğiniz dosya sadece jpg <br />
          ve ya gif uzantılı olabilir </span></td>
      <td width="102" valign="top"><input type="submit" name="Submit" value="Dosya Gönder" /></td>
    </tr>
  </table>
</form>

2)Şimdi ana dizinde dosya_yukle.php sayfasını oluşturun ve kodlamamıza başlaya biliriz php taglarının içine dosyamızın tmp_name mini , name mini type ini ve size ını alıyoruz.Bunu aşağıdaki gibi yapabilirsiniz.


$dosya_adi=$_FILES["dosya"]["name"];
$dosya_yer=$_FILES["dosya"]["tmp_name"];
$dosya_tip=$_FILES["dosya"]["type"];
$dosya_boyut=$_FILES["dosya"]["size"];

3) Dosyaların sadece jpg ve gif formatın da eklenmesini istiyorsanız bir if kontrolü yapmamız gerekir.Bunu aşağıdaki gibi yapabilirsiniz.


if(($dosya_tip=="image/jpeg") || ($dosya_tip=="image/gif")){

echo "<center>Gönderdiğiniz resim başarılı şekilde resim galerisine eklendi</center>";


}else{


echo "<center>Göndermeye çalıştığınız dosya uzantısı <b>jpg</b> ve ya <b>gif</b> değil</center>";



}

4) Resimleri bir klasöre aktarmadan önce resime farklı bir isim vermek zorundayız,çünkü örneğin resim.jpg diye bir dosya upload edilmişse ve başka bir kullanıcıda resim.jpg diye bir dosya eklemişse bunu önce eklenenin üstüne yazar.Bunu engellemek için substr(); md5(); uniqid(); ve rand(); fonksiyonlarını içi içe kullanmalıyız.Bu fonksiyonların tanımı aşağıdaki gibidir.


substr(); //Bir yazının belirlediğimiz satırlarını almaya yarar
md5(); //Şifreleme yapar
uniqid(); //Gelen bir karakterin bir defa gelmesini sağlar
rand(); //Rastgele sayı üretir

5)Başlıyoruz,İlk önce gelen dosyanın uzantısını almamız gerek bunun için substr kullanacağız.Sonra yukarıda belirttiğim fonksiyonlarla yeni bir ad üreteceğiz en so olarak yeni ad ve uzantıyı bağlayacağız.not: Bu işlemi if kontrolünün üzerinde , dosya işlemlerinin altında yapın.


$uzanti=substr($dosya_adi,-4);
$yeni_ad= substr( md5(uniqid(rand())), 0,15);
$yeni_adi=$yeni_ad.$uzanti;

6) Ana dizinde resimler adında bir klasör oluşturduktan sonra , tekrar if kontrolüne geliyoruz ve "Gönderdiğiniz resim başarılı şekilde resim galerisine eklendi" yazısının üstünde resmimizi move_uploaded_file(); fonksiyonuyla resimler adlı klasöre atıyoruz (Fonksiyonda ilk argumana dosya_yer adlı değişkenimizi,ikinci argumana ise dosyanın gideceği yeri ve dosya adını belirtiyoruz).

not:İf kısmında ekrana gelen yazılardan sonra dosya yükleme penceresine gitmesi için header("refresh:5; url=index.php");(bunu ekrana yazılan yazının yazının altına ekleyin) fonksiyonunu kullanabilirsiniz


move_uploaded_file($dosya_yer,"resimler/".$yeni_adi);

Bu işlemi de yaptıktan sonra yapılan çalışmayı deneye bilirsiniz (Gönderilen resim farklı bir isimle resimler klasöründe olacaktır).

Evet arkadaşlar bu dersimizi de fazla akıl karıştırmamak için burada kesiyorum,2. dersimizde gönderilen resimleri ekrana yazdırmayı göreceğiz.

İyi çalışmalar…

Kaynak dosyayı indirmek için tıklayın

 
Yorum yapın

Yazan: 17 Nisan 2011 in Genel

 

Etiketler: , , , ,

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

 
%d blogcu bunu beğendi: