İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

PHP ile Veritabanına Resim Yükleme

Alaycı Kuş

0
İyinet Üyesi
Katılım
31 Mart 2013
Mesajlar
30
Reaction score
0
Mantığı şu şekilde olmalı;
Gözat ile resmi yükleyecek. Daha sonra yüklediği resmi aynı sayfada gösterecek. Ve aynı sayfadan silebilecek.

input ekledim:
PHP:
<form action="kayit.php" enctype="multipart/form-data" method="post">
<span class="asagi"><label>Menü Adı</label><input type="text" name="menu_adi" class="makale_baslik" /></span>
<span class="asagi"><label> Resim Yükleyiniz</label><input name="Foto" type="file" /></span>

<span class="asagi">
<input type="submit" class="buton" value="Kaydet" /></span>
</form>

kayit.php de nasıl bir yol izlemeliyim. Aşağıdaki kodları denedim fakat mantığını dahi anlayamadım. Hata vermiyor ama kaydetmiyor da.

PHP:
$menu_adi = trim ($_POST["menu_adi"]);

if($_POST)
{
    $foto = $_FILES['Foto'];    
    $resimismi = $_FILES['Foto']['name'];
	
    $klasor = '';
    $rasgele = md5(microtime()); // rasgele sayı üretiyoruz.
    
    $degerler = explode('.',$resimismi);
    $sonnokta = count($degerler)-1; 
    $uzanti = $degerler[$sonnokta]; 
    
    $yeniresim = $rasgele.".".$uzanti;
    
    move_uploaded_file ($_FILES['Foto']['tmp_name'], $klasor.$yeniresim) or die ('Dosya kopyalanamıyor'); 
}

		$ekle = mysql_query ( "INSERT INTO menu (menu_adi, resim ) values ('$menu_adi', $yeniresim') " );
		if ($ekle) {
			echo "Bilgiler kaydedildi.";
			header ("Location: menu.php");
		}else{
			echo "Kayıt başarısız!";
			header ("Refresh:2; url: ekle.php");
			}
 

onder

0
İyinet Üyesi
Katılım
13 Aralık 2012
Mesajlar
119
Reaction score
2
Konum
Fethiye
class upload ı kullanman işini kolaylaştıracaktır. şu şekilde dene istersen

PHP:
include 'class.upload.php';

if($_POST)
{

$menu_adi = trim ($_POST["menu_adi"]);
   
   $klasor = '';
   $yeniresim = 'resim_adi_bu_olacak-' . rand(999,99999);

  $handle = new upload($_FILES['Foto']);
  if ($handle->uploaded) {
      $handle->file_new_name_body   = $yeniresim;
      $handle->image_resize         = false; //dosya yeniden boyutlandirilacaksa true olarak degistir
      $handle->image_x              = 640; //yeniden boyutlandirmada genislik
      $handle->image_ratio_y        = true;
     
      $handle->process($klasor);
      if ($handle->processed) {
          $handle->clean();
         
            $ekle = mysql_query ( "INSERT INTO menu (menu_adi, resim ) values ('$menu_adi', $yeniresim') " );
            if ($ekle) {
                echo "Bilgiler kaydedildi.";
                header ("Location: menu.php");
                exit(0);
            }else{
                echo 'Kayıt başarısız! ... HATA : ' . mysql_error();
                header ("Refresh:2; url: ekle.php");
                exit(0);
                } 
          } else {
              echo 'Dosya kopyalanamıyor ... HATA : ' . $handle->error;
              exit(0);
          }
  }
}
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst