Php | Image Upload Sistemi
Merhaba arkadaşlar size resim yükleme işlemini anlatacağım.
İlkönce index.html sayfamızı oluşturuyoruz. Kodlar aşağıda
<!--index.html-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Image Upload</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <legend>Image upload <form action="dosyayukle.php" method="post" enctype="multipart/form-data" > Bir resim seçin:<br /> <input type="file" id="file" name="file" /> <input type="submit" value="Resmi Yukle!" />
</form> </legend> </body> </html>
(Burada dikkat ederseniz. <form action> ile sayfamızı "dosyayukle.php" sayfasına yönlendiriyoruz.)
(index.html basit görünüm)
http://www.fotoparked.com/upload/nr/492/1.png
Şimdi sıra "dosyayukle.php" sayfamızda :
Burada bazı şeylerden bahsetmek istiyorum.
--substr fonksiyonu
substr($degisken, basla, uzunluk) şeklinde ifade edilen fonksiyon bize bir metnin bir bölümünü verir. basla olarak belirtilen yer hangi harften başlayacağı, uzunluk ise ne kadarının alınacağıdır. Aşağıdaki örnekleri inceleyelim
<?
$yazi = "dünyada yazılmış en profesyonel site yahoo"dur";
echo substr($yazi, 0, 5);
?>
Yukarıdaki 0, ilk harften başlayacağını ve 5 sonraki 5 harfi alacağını ifade eder Bu kodun sonucu tahmin edebilceğiniz gibi "dünya" dır.
--rand fonksiyonu
Bu fonksiyon sayıları döndürür size sürekli random yani rastgele sayılar oluşturur
--uniqid fonksiyonu
Birbirinden farklı değerler oluşturmak için kullanılır.
--md5 fonksiyonu
Şifreleme fonksiyonudur. (Daha ayrıntılı bilgi için : http://www.acikbilgi.com/2006/08/26/guvenli-md5-kullanimi/)
--move_uploaded_file
Bir veriyi bir klasöre taşımamızı sağlayan fonksiyon.
move_uploaded_file($kaynak,$hedef."/".$yeniad) Burada bunu kullandık. Aldığı değerlere dikkat edecek olursanız. İlkönce resmimizin kaynağı daha sonra "."birleştirme operatörü ile bir sağ slash yapıyoruz ve yeni oluşturduğumuz değerle isimlendiriyoruz.
<!--dosyayukle.php-->
<!--İlönce index.html sayfanızın olduğu klasörde resimler adlı bir klasör oluşturun.--> <?php
$kaynak =$_FILES["file"]["tmp_name"];//Burası resminiz kök klasörünün yerini verir $isim =$_FILES["file"]["name"]; //Resminizin adını verir $tip =$_FILES["file"]["type"]; // Resminizin tipini verir $buyukluk =$_FILES["file"]["size"]; //Büyüklüğünü verir
//"resimler" klasörümüzde aynı isimle üzerine kaydetmemesini sağlıyoruz //Örneğin bir kış resmi yüklediniz isim = "230bt.Kiş.jpg" olarak çıkıyor. Yani rastgele sayı oluşturarak //Aşağıda resmin değerlerini ekrana yazdırıyoruz.. $rand =substr(md5(uniqid(rand())),0,5);//Burada oluşturduğumuz rastgele sayıyı yüklediğimiz resimle birleştiriyoruz.
//Burada istediğimiz formattaki resimleri bir diziye atıyoruz $desteklenenformatlar = array ("image/jpeg","image/pjpeg","image/png","image/gif");
$kaydedilecekyer = "resimler";
//in_array fonksiyonu size bir degerin o dizinin icinde olup olmadigini bulmanizda yardimci olur if (in_array ($_FILES["file"]["type"], $desteklenenformatlar)) {
//Burada gördüğünüz fibi ilkönce kaydedilecekyeri daha sonra yukarıda yaptığımız //random sayıyı yeni resmimizin önüne ekliyoruz. $dosya = $kaydedilecekyer . "/".$rand.$_FILES["file"]["name"];
//Burada ise move_uploaded_file fonksiyonu ile dosyamızı yukarıda belirttiğimiz yere taşıyoruz if (move_uploaded_file ($_FILES["file"]["tmp_name"], $dosya)) { echo "<font color = "#009900"><b>Dosyaniz basarili bir sekilde yuklendi!</b></font>"."<br/><br/>"; echo "<b>Dosyanizin ismi :</b> "."$isim"."<br/>"; echo "<b>Dosyanizin tipi : </b>"."$tip"."<br/>"; echo "<b>Dosyanizin buyuklugu : </b>"."$buyukluk"."kb"tir"."<br/>";
}
} ?> <br/>
<!--Burada ise resmimizi yüklendikten sonra görüntülenmesini sağlıyoruz--> <img src="<?=$dosya?>" />
|