Bazı zamanlar forumlarda (hatta şimdi bile 10 larca vardır) sıkça sorulur...yaa hoca,şu veritabanına resmi nasıl ekliycez falan feşmekan.10 larca kez anlatılmasına karşılık ya açıklayıcı olmaz yada millet inat olsun diye tekrar tekrar sorarlar aynı soruyu.Şimdi bu makale de resmi nasıl yükleyip nasıl çıktı alacağımızı anlatıcam size,Aslına bakarsanız şöyle bir olay var,resmi yüklemek diyoruz ama,resmin yolunu yüklemekten bahsediyorum aslen.Çünkü resmi komple databaseye yüklersek,database şişer kalır.Aşırı yavaşlayacaktır malumunuz.Şimdi olayımıza geçelim isterseniz.
1.basamağımız şu şekilde;
(not:bu kodlarda basitce anlatacagım icin guvenliği katmıycam işin içine,sadece mantıgını kavrayın diye yazıyorum)
sunucuda photo diye bir klasör açıyoruz.klasörü açtıktan sonra aşağıdaki kodu çalıştırıyoruz:
Kod Çizelgesi Kod Dili: php
if(empty ($_POST['gonder']) ) {
?>
<form action="<? echo $_SERVER['PHP_SELF']; ?>"
enctype="multipart/form-data" method="post">
resim sec:<input type="file" name="photo">
<input type="submit" name="gonder" value="gonder">
</form>
<?php
}else{
if(is_uploaded_file($_FILES['photo']['tmp_name']))
{
if(move_uploaded_file($_FILES['photo']['tmp_name'],
"photo/".$_FILES['photo']['name']))
{
echo "secilen".$_FILES['photo']['name']." adli resim tasindi";
}
else
{
echo "hata oldu";
}
}
}
?>
Şimdi çalıştırın bakalım kodu,dosya alanına herhangi bir resmi yükleyin.ve sunucunuzda resimler klasörüne bakın.Resmin oraya taşındığını görüceksiniz.Şimdi o zaman aynı mantıkla resmin yolunu kaydedelim databaseye.Şimdi bunun icin databasenize sadece id ve yol olarak iki alan açın ve aşağıdaki kodu çalıştırın.benim burda oluşturdugum tablo ismi resim.siz isterseniz kendinizin belirlediği bir tablo ismini yazabilirsiniz
Kod Çizelgesi Kod Dili: php
<?php
if(empty ($_POST['gonder']) ) {
?>
<form action="<? echo $_SERVER['PHP_SELF']; ?>"
enctype="multipart/form-data" method="post">
resim sec:<input type="file" name="photo">
<input type="submit" name="gonder" value="gonder">
</form>
<?php
}else{
if(is_uploaded_file($_FILES['photo']['tmp_name']))
{
if(move_uploaded_file($_FILES['photo']['tmp_name'],
"photo/".$_FILES['photo']['name']))
{
$url="photo/".$_FILES['photo']['name']."";
echo "secilen <b>".$url."</b> adli resim<br>\n";
}
else
{
echo "hata oldu";
}
}
$db=mysql_connect ("hostname","username","passwrod here");
if(!$db) {
echo "mysqle baglanamadım".mysql_error($db)."";
}
$ds=mysql_select_db("databasename");
if(!$ds) { echo "vt seçilemedi".mysql_error($ds)."";}
$veri[1]=trim($url);
$veri_kaydi="insert into resim values ('','$veri[1]',)";
$vsorgu=mysql_query($veri_kaydi);
if(isset($vsorgu) ) {
echo "<b>databaseye tasindi</b>";
}
else{
echo "hata oldu";
}
}
?>
Şimdide son olarak resmimizi görelim bakalım.burada kodları anlatmadım size,eğer anlamayan olursa yorum kısmında yazışarak anlamaya çalışırız arkadaşlar,o yüzden eline sağlık dostum yerine soru sormanızı tavsiye ediyorum aşağıdaki kodumuz resmi çıktılar
Kod Çizelgesi Kod Dili: php
$tablo="select * from resim";
$sorgu=mysql_query($tablo);
while($oku=mysql_fetch_assoc($sorgu) ) {
$a="$oku[dosya_url]";
echo "<img src='$a' width='100' height='100'>";
}
Tabi bu kodun başına db bağlantınızı yazmayı unutmuyoruz.Umarım yardımcı olabilmişimdir.Olamadıysamda yorumlar kısmında anlamayana anlatmaya çalışırım dediğim gibi.Kalın saglıcakla...
iyi çalışmalar...
Makale Sahibi : Ali Gurbuz