• Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha fazla bilgi edin.

PHP ile Veritabanına Resim Yükleme

Konuyu Okuyan Kişiler (0)

Alaycı Kuş

webmaster.tc
Katılım
28 Mar 2013
Mesajlar
24
Beğeniler
0
Yaş
25
Konum
Konya
#1
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");
			}
 

DWather

webmaster.tc
Katılım
19 Şub 2013
Mesajlar
218
Beğeniler
0
#2
Upload classlar var onlardan kullanmanı tavsiye ederim. Bu şekilde bir upload sistemi ile çok basitce sheller yenilebilir. örneğin yukarıdaki kodda yüklenen dosyanın resim dosyası olup olmadığını kontrol ettirmemiş. yani adam shell scriptini rahat rahat sunucunuza yükleyebilir :D