PHP ile MySQL kullanarak oluşturduğum, resimleri dosyaya yazarken resimlerin isimlerini veritabanına kaydeden bi script.Script ‘de ayrıca resimler yeniden boyutlandırılıp küçük halleride hem dosyaya hemde veritabanına yazılmakta.
İlk önce bilgisayarımızdan resimleri alacağımız formu oluşturuyoruz.Sayfanın adı gonder.php ‘ dir.
gonder.php
<form action=”resim_isle.php” enctype=”multipart/form-data” method=”post”>Yeni Resim Ekle
<input name=”kull_dosya” type=”file” />
<input type=”submit” value=”Gönder” />
</form>
Formumuzu oluşturduktan sonra sıra geldi asıl işlemi gerçekleştiren resim_isle.php sayfamıza;
resim_isle.php
$resim_kaynagi = $_FILES["kull_dosya"]["tmp_name"];
$resim_ismi = $_FILES["kull_dosya"]["name"];
$resim_turu = $_FILES["kull_dosya"]["type"];
$resim_boyutu = $_FILES["kull_dosya"]["size"];
//resim ismini değiştiriyoruz çünkü aynı isimle başka bir dosya yüklenebilir.Bu durumda eski dosyamızı kaybederiz.
$resim_uzantisi = substr($resim_ismi, -4);
$rasgeleisim = substr(md5(uniqid(rand())), 0, 12);
$resim_yeniismi = $rasgeleisim.$resim_uzantisi ;
//gonderdiğimiz dosyanın bilgilerini ekrana yazıyoruz
echo “Gönderdiğiniz Resmin Adı: : “.$resim_ismi.”";
echo “Gönderdiğiniz Resmin Yeni Adı : “.$resim_yeniismi.”";
echo “Gönderdiğiniz Resmin Boyutu : “.$resim_boyutu.”";
//dosyayı daha once sunucuda manuel olarak olusturduğumuz gonderilen_resimler adlı klasöre gönderiyoruz.
$dosya_hedef = “gonderilen_resimler”;
$dosya_yukle = move_uploaded_file($resim_kaynagi, $dosya_hedef.’/’.$resim_yeniismi);
//Yüklediğimiz resmin küçük halini oluşturoruz.
$kucuk_resim = imagecreatefromjpeg($dosya_hedef.’/’.$resim_yeniismi);
$boyut = getimagesize($dosya_hedef.’/’.$resim_yeniismi);
$resimorani=112/$boyut[0];
$yeniyukseklik = $resimorani*$boyut[1];
$yeniresim = imagecreatetruecolor(“112″,$yeniyukseklik);
imagecopyresampled($yeniresim, $kucuk_resim, 0, 0, 0, 0, “112″, $yeniyukseklik, $boyut[0], $boyut[1]);
$hedefdosya = $dosya_hedef.”/”.$rasgeleisim.”_kucuk”.$resim_uzantisi;
imagejpeg($yeniresim,$hedefdosya,100);
$dosya_yukle2 = move_uploaded_file($resim_kaynagi, $hedefdosya);
$kucuk_yeniisim = $rasgeleisim.”_kucuk”.$resim_uzantisi ;
//dosyanın yüklenip yüklenmediğini kontrol ediyoruz.
echo ”<pre> ”;
if ($dosya_yukle){
echo “Dosya yüklendi…”;
echo “<img src=’”.$dosya_hedef.”/”.$kucuk_yeniisim.”‘><br>”;
}
else{
echo “Dosya Kaydedilemedi. Tekrar Deneyiniz…
“;
}
$ekleme_tarihi = date(“Y-m-d H:i:s”);
//Klasöre kaydettiğimiz dosyanın ismini ve tarih bilgisini veritabanına ekliyoruz.
mysql_select_db($db, $resim_sql);
$veri_ekle = “insert into resimler (r_adi, r_adi_minik, ekleme_tarihi) values (‘$resim_yeniismi’,'$kucuk_yeniisim’, ‘$ekleme_tarihi’)”;
if (mysql_query(“$veri_ekle”)){
echo “Resim Bilgisi Veri Tabanına BaÅŸarıyla Kaydedildi”;
}
else
{
echo mysql_error();
}
?>
Evet gönderme işlemini tamamladık.Şimdi MySql tablomuzu oluşralım.
resimler databasenin sql ‘i;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ “resimler” /*!40100 DEFAULT CHARACTER SET utf8 */;
USE “resimler”;
#
# Table structure for table ‘resimler’
#
CREATE TABLE /*!32312 IF NOT EXISTS*/ “resimler” (
“no” int(11) NOT NULL AUTO_INCREMENT,
“r_adi” varchar(50) COLLATE utf8_unicode_ci NOT NULL,
“r_adi_minik” varchar(50) COLLATE utf8_unicode_ci NOT NULL,
“ekleme_tarihi” datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00′,
PRIMARY KEY (“no”)
) AUTO_INCREMENT=10;
hayatgarip tarafından yazıldı
hayatgarip tarafından yazıldı
hayatgarip tarafından yazıldı