Anasayfa / Kişisel Web Sitesi / PHP İle Kendi Resim Yükleme Servisimizi Yapıyoruz | Ders 3

PHP İle Kendi Resim Yükleme Servisimizi Yapıyoruz | Ders 3

 Merhaba arkadaşlar kendi sitelerimiz için basit bir resim upload servisi yazmayı öğreneceğiz.

Ders 1 – Anasayfa Tasarımı

Ders 2 – Resim Yükleme

Ders 3 – Veritabanı Kaydı

Bu dersimizde sistemimize yüklenen resimin, yolunu ve yükleyen kullanıcının IP adresini veritabanımıza kaydettik.

Resim adında bir veritabanı oluşturarak başlıyoruz.

1 2
 

Resim isimli veritabanımıza Resimler adında bir tablo oluşturuyoruz.

2 2
 

Tablomuza resim_id, resim_yolu, yukleyen_ip_adresi adında sütunlar oluşturarak özelliklerini resimde ki gibi ayarlıyoruz.

3
 

Ardından veritabanı bağlantımızı kurmak için dizinimize connect.php adında bir php dosyası oluşturarak içerisine aşağıda ki kodları yazıyoruz.

<?php
//ASERDAR.COM
//Blog.Aserdar.Com

$baglanti = @mysql_connect(‘localhost’, ‘root’, ”);
$db = @mysql_select_db(‘resim’);

if($baglanti && $db) {

} else {
echo ‘Veritabanı Bağlantısı Kurulamadı.’;
}
?>

4
 

Not:$baglanti degiskenindeki sunucu bilgilerini kendi sitenize göre değiştirmeyi unutmayın.

Ve Önceki dersimizde oluşturduğumuz yukle.php’nin içeriğini artık bu şekilde değiştiriyoruz.

<?php
//ASERDAR.COM
//Blog.Aserdar.Com
include “connect.php”;
?>

<?php
//IP adresi alma fonksiyonu
function GetIP(){
if(getenv(“HTTP_CLIENT_IP”)) {
$ip = getenv(“HTTP_CLIENT_IP”);
} elseif(getenv(“HTTP_X_FORWARDED_FOR”)) {
$ip = getenv(“HTTP_X_FORWARDED_FOR”);
if (strstr($ip, ‘,’)) {
$tmp = explode (‘,’, $ip);
$ip = trim($tmp[0]);
}
} else {
$ip = getenv(“REMOTE_ADDR”);
}
return $ip;
}
?>
<html>
<head>
<title>ASERDAR.COM – RESİM YÜKLEME SERVİSİ</title>
<meta charset=’utf-8′ />
<style>
body {
margin:0px;
padding:0px;
font-family:Calibri;
background-color:#bdc3c7;
}
.anadiv {
width:500px;
height:500px;
margin-right:auto;
margin-left:auto;
margin-top:7%;
background-color:#EEE;
border:1px solid #CCC;
box-shadow:0px 0px 10px #000;
}
.logo{
width:100%;
height:100px;
border-top:1px solid #CCC;
border-bottom:1px solid #CCC;
margin-top:20px;
text-shadow: 0 1px 0 #ccc,
0 2px 0 #c9c9c9,
0 3px 0 #bbb,
0 4px 0 #b9b9b9,
0 5px 0 #aaa,
0 6px 1px rgba(0,0,0,.1),
0 0 5px rgba(0,0,0,.1),
0 1px 3px rgba(0,0,0,.3),
0 3px 5px rgba(0,0,0,.2),
0 5px 10px rgba(0,0,0,.25),
0 10px 10px rgba(0,0,0,.2),
0 20px 20px rgba(0,0,0,.15);
text-align:center;
color:white;
font-size:80px;
}
a {
text-decoration:none;
color:#FFF;
}
.icerik {
width:100%;
margin-top:10px;
}
.footer {
width:500px;
height:20px;
padding-top:5px;
padding-bottom:5px;
text-align:center;
margin-right:auto;
margin-left:auto;
background-color:#EEE;
border:1px solid #CCC;
margin-top:10px;
box-shadow:0px 0px 10px #000;
font-style:italic;
}
</style>
</head>
<body>
<div class=”anadiv”>
<div class=”logo”>
<a href=”http://blog.aserdar.com” target=”_blank”>ASerdar.Com</a>
</div>
<div class=”icerik”>
<center>
<?php
$tarih = date(“d.m.Y”);
$uret = rand (1,3000);
if(isset($_FILES[‘dosya’])){
$hata = $_FILES[‘dosya’][‘error’];
if($hata != 0) {
echo ‘Yüklenirken bir hata gerçekleşmiş.’;
} else {
$boyut = $_FILES[‘dosya’][‘size’];
if($boyut > (1024*1024*3)){
echo ‘Dosya 3MB den büyük olamaz.’;
} else {
$tip = $_FILES[‘dosya’][‘type’];
$isim =$_FILES[‘dosya’][‘name’];
$uzanti = explode(‘.’, $isim);
$uzanti = $uzanti[count($uzanti)-1];
if($tip != ‘image/jpeg’ || $uzanti != ‘jpg’) {
echo ‘Yanlızca JPG dosyaları gönderebilirsiniz.’;
} else {
$dosya = $_FILES[‘dosya’][‘tmp_name’];
copy($dosya, ‘resim1/’ . $tarih .’-‘. $uret . $_FILES[‘dosya’][‘name’]);
$yol = ‘resim1/’.$tarih .’-‘. $uret . $_FILES[‘dosya’][‘name’];
$ip_adresi = GetIP();
$sql = “insert into resimler(resim_yolu, yukleyen_ip_adresi) values (‘”.$yol.”‘,'”.$ip_adresi.”‘)”;
if (mysql_query($sql)){
echo ‘<center><img src=”resim1/’.$tarih .’-‘. $uret . $_FILES[‘dosya’][‘name’] . ‘” height=”180″ />’;
echo ‘<br>’;
echo ‘<h3>Direk URL</h3>’;
echo ‘<textarea cols=”68%” style=”resize:none;” onclick=”this.focus();this.select()”>http://localhost/aserdar.com-resim-up-scripti/resim1/’.$tarih .’-‘. $uret . $_FILES[‘dosya’][‘name’] . ‘</textarea>’;
echo ‘<h3>HTML</h3>’;
echo ‘<textarea cols=”68%” style=”resize:none;” onclick=”this.focus();this.select()”><img src=”http://localhost/aserdar.com-resim-up-scripti/resim1/’.$tarih .’-‘. $uret . $_FILES[‘dosya’][‘name’] . ‘”/></textarea>’;
echo ‘</center>’;
}
mysql_close($baglanti);
else {
echo ‘Veritabanı Kaydı Sağlanamadı.’;
}
}
}
}
}
?>
</center>
<div style=”clear:both;”></div>
</div>
</div>
<div class=”footer”>
<a href=”http://blog.aserdar.com” style=”color:#000;”target=”_blank”>ASerdar.Com</a> Resim Yükleme Servisidir.Copyright TaaRRuz.
</div>
</body>
</html>

Sıra test etmeye geldi.Yeni bir resim yüklüyoruz.

5
 

..ve otomatik olarak aynı zamanda veritabanımıza bilgilerimiz kayıt oldu.

6
 

Son olarak dizinimizden bir görüntü.

3 php dosyası, 1 klasör ve 1 veritabanı ile Resim Yükleme Scriptimizi Yaptık.

7
 

Bu aşamaya gelebilmeniz için önce yapmanız gereken 2. dersteki adımları uygulamaktır;

Resim Yükleme Servisi DERS 2

Bir önceki yazımız olan Tasarımlarınız İçin Uyumlu Renkler başlıklı makalemizde Flat renkler, renk kodları ve uyumlu renk seçimleri hakkında bilgiler verilmektedir.

İlginizi Çekebilir

Uyumlu Renkler

Tasarımlarınız İçin Uyumlu Renkler

Gerek web tasarım, gerekse grafik çalışmalarınız için uyumlu renk kullanımına yardımcı olan bazı yardımcı siteleri …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir