Resim ekleme local de oluyor, hostindg de olmuyor.

Kodla Büyü

Recep.Hoca

Seçkin Üye
Seçkin Üye
Mesajlar
579
Resim ekleme local de oluyor, hostindg de olmuyor.

aceba nerde hata yapıyorum.

Kod:
<?php
//Veritabanı bağlantı dosyamızı çekiyoruz
require_once("vtbaglan.php");
//Fonksiyonlar dosyamızı çekiyoruz
require_once("fonksiyonlar.php");
?>

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<title>PHP ve MySQL Resim Upload</title>
</head>

<body>
<?php
/*
Bir string değişken oluştururp bu değişken sayesinde başka sayfa oluşturup
işlem yapacağımıza tek bir sayfada string değişkenimiz sayesinde işlem yapabiliriz.
Ayrıca bu string değişken başka sayfalara taşınıp kullanılabilir.
*/
$i = $_GET['i']; //Bir string değişken oluşturuyoruz
switch($i){
case "": //$i string değişkeni boş ise yani sayfaya ilk girildiğinde
?>
<h3>Resim Upload Formu...</h3>
<form action="resimekle.php?i=upload" method="post" enctype="multipart/form-data">
<label>Resim: <input name="file_resim" type="file" /></label>
<br /><br />
<input type="submit" value="Yükle!" />
</form>

<h3>Yüklenen Resimler...</h3>
<?php
echo '<table width="500" border="1">'; //Reesimlerimizi listelemek için bir tablo oluşturduk
$resim_cek = mysql_query("SELECT * FROM resimler ORDER BY id DESC"); //Resimleri en son eklenenden başlayarak çekmemiz için gerekli mysql kodumuz
while($resim_cek_yeni = mysql_fetch_array($resim_cek)){ //while döngüsü ile resimlerimizi listeliyoruz
$id = $resim_cek_yeni['id']; //Resmin id'sini alıyoruz
$gy_al = getimagesize($resim_cek_yeni['resim_url']); //Resmin genişlik ve yüksekliğini alıyoruz
//Resimlerimizi tablonun satırlarına ekleyip listeliyoruz
echo '
<tr>
  <td width="150"><a href="'.$resim_cek_yeni['resim_url'].'"><img src="'.$resim_cek_yeni['resim_url'].'" width="150" height="150" border="0" /></a></td>
  <td width="334" valign="top">
  <b>Boyutu:</b> '.$resim_cek_yeni['resim_boyutu'].'<br />
  <b>Türü:</b> '.$resim_cek_yeni['resim_turu'].'<br />
  <b>Eklenme:</b> '.$resim_cek_yeni['eklenme'].'<br />
  <b>Genişlik ve Yükseklik:</b> '.$gy_al[0].' x '.$gy_al[1].'<br /><br />
  Resimi <a href="resimekle.php?i=sil&id='.$id.'">Silin</a> veya <a href="'.$resim_cek_yeni['resim_url'].'">Büyütün</a>
  </td>
</tr>';
}
echo '</table>';
break;

case "upload": //$i isminde oluşturduğumuz string değişkenin değeri yani upload yapmamız için gerekli kodlamaların bulunduğu değişken
//Resim Upload aracından verileri alıyoruz
$resim_isim      = $_FILES["file_resim"]["name"]; //Resmin ismini çekiyoruz
$resim_turu      = $_FILES["file_resim"]["type"]; //Resmin türü. Örn; JPEG, PNG, GIF vs.
$resim_boyut_orj = $_FILES["file_resim"]["size"]; //Resmin orjinal boyutunu alıyoruz
$resim_boyut_str = strBoyut($_FILES["file_resim"]["size"]); //Resmin dönüştürülmüş boyutunu alıyoruz
$resim_kaynak    = $_FILES["file_resim"]["tmp_name"]; //Resmin hangi kaynaktan geldiğini alıyoruz
$resim_hedef     = "resimler/"; //Resmin yükleneceği yolu bir değişkene atadık
$eklenme_tarih   = date("d.m.Y"); //Bir tarih formatı oluşturduk

	if($resim_kaynak == ""){ //Eğer resmin kaynağı boş iste yani hiç resim seçilmemiş ise hata mesajı verdiriyoruz
		echo '<script type="text/javascript">alert("Üzgünüz! Bir resim seçmelisiniz.");</script>';
		echo '<meta http-equiv="refresh" content="0;URL=resimekle.php">';
	}elseif(($resim_turu != "image/jpeg") and ($resim_turu != "image/png") and ($resim_turu != "image/gif")){ //Eğer seçilen resimlerin türü JPEG, PNG veya GIF değilse bir hata mesajı verdiriyoruz
		echo '<script type="text/javascript">alert("Seçtiğiniz dosya jpeg, png ve gif formatlarında olmalıdır!");</script>';
		echo '<meta http-equiv="refresh" content="0;URL=resimekle.php">';
	}elseif($resim_boyut_orj > 960000){
		echo '<script type="text/javascript">alert("Resim boyutu çok büyük maximum 960kb boyutunda resim yükleyebilirsiniz!");</script>';
		echo '<meta http-equiv="refresh" content="0;URL=resimekle.php">';
	}else{ //Eğer resim seçilmişse ve türüde uygunsa resmi hem sunucumuza yüklüyoruz(upload) hemde veritabanımıza kaydediyoruz
		$rasgele_isim = rand(1,10000); //1 ile 10.000 sayıları arasında rasgele bir sayı üretiyoruz
		//Resmi sunucuya yüklememiz(upload) için gereken php kodumuz ayrıca rasgele ürettiğimiz sayı ile resmimizin yanına ürettiğimiz sayıyı ekleyip aynı resimden olma ihtimalini yok ediyoruz
		$resim_upload = move_uploaded_file($resim_kaynak,$resim_hedef.'/'.$rasgele_isim . "-" . $resim_isim);
		//Veritabanına kaydedilirken sadece resmin ismi değilde resmin yolu, rasgele sayı ürettiğimiz kodumuz ile resmin ismini birleştirerek veritabanına kaydetmemiz için yeni bir değişken oluşturduk
		$resim_isim_yeni = "resimler/" .$rasgele_isim. "-".$resim_isim."";
		
		$kaydet = mysql_query("INSERT INTO resimler (resim_url,resim_boyutu,resim_turu,eklenme) VALUES ('$resim_isim_yeni','$resim_boyut_str','$resim_turu','$eklenme_tarih')"); //Veritabanına eklememiz için gereken mysql kodumuz
		if($kaydet){ //Eğer işlem başarılı olursa onay mesajı verdiriyoruz
			echo '<script type="text/javascript">alert("Resim başarıyla eklendi.");</script>';
			echo '<meta http-equiv="refresh" content="0;URL=resimekle.php">';
		}else{ //Eğer bir sorun olursa hata mesajı verdiriyoruz
			echo '<script type="text/javascript">alert("Hata! Resim eklenemedi.");</script>';
			echo '<meta http-equiv="refresh" content="0;URL=resimekle.php">';
		}
	}
break;

case "sil":
$id = $_GET['id']; //Resimleri listelerken çektiğimiz resmin id'si
$silincek_resim 	 = mysql_query("SELECT * FROM resimler WHERE id=$id"); //Silincek resmin ismini çekmek için gerekli mysql kodumuz
$silincek_resim_yeni = mysql_fetch_array($silincek_resim); //Silincek resmin ismini çekmek için mysql_fetch_array() fonksiyonumuzu kullanıyoruz

$resim_sil = mysql_query("DELETE FROM resimler WHERE id=$id"); //Resmi silmek için gerekli mysql kodumuz
	if($resim_sil){ //Eğer resim başarıyla silinirse onay mesajı verdiriyoruz
		echo '<script type="text/javascript">alert("Resim başarıyla silindi.");</script>';
		echo '<meta http-equiv="refresh" content="0;URL=resimekle.php">';
		@unlink($silincek_resim_yeni['resim_url']); //Resmi sunucudan silmek için gerekli fonksiyonumuz
	}else{ //Eğer resim silinirken bir sorun olursa hata mesajı verdiriyoruz
		echo '<script type="text/javascript">alert("Hata! Resim silinemedi.");</script>';
		echo '<meta http-equiv="refresh" content="0;URL=resimekle.php">';
	}
break;
}
?>
</body>
</html>
 

Ekli dosyalar

hosttaki veritabanı adı, kullanıcı ve şifresi local deki gibi mi tanımlı hocam kontrol ettiniz mi?
 
evet bağlantı da sıkıntı yok veri tabanına kayıt yapıyor, resim eklendi diyor ama hostingde bişey yok.
 
hocam şimdi deniyorum

resimler tablosu tam olarak nasıl? kaç sütun?

Pardon hocam sql in içindeymiş bakıyorum
 
BBNET
Geri
Üst