• 29-04-2014, 17:09:49
    #1
    Üyeliği durduruldu
    Merhaba,

    Php ile yönetim panelinden sitenin arka plan resminin seçilmesini istiyorum.
    <?php
    
    if( isset($_POST['moodadi']) )
    {
    $kategorican=$_POST["moodadi"];
    function do_seoslug($kategorican){
    	$bul = array('Ç', 'Ş', 'Ğ', 'Ü', 'İ', 'Ö', 'ç', 'ş', 'ğ', 'ü', 'ö', 'ı', '-');
    	$yap = array('c', 's', 'g', 'u', 'i', 'o', 'c', 's', 'g', 'u', 'o', 'i', ' ');
    	$perma = strtolower(str_replace($bul, $yap, $kategorican));
    	$perma = preg_replace("@[^A-Za-z0-9\-_]@i", ' ', $perma);
    	$perma = trim(preg_replace('/\s+/',' ', $perma));
    	$perma = str_replace(' ', '-', $perma);
    	return $perma;
    }
    
    
    $allowedExts = array("jpg", "jpeg", "gif", "png");
    $extension = end(explode(".", $_FILES["dosya"]["name"]));
    if ((($_FILES["dosya"]["type"] == "image/gif")
    || ($_FILES["dosya"]["type"] == "image/jpeg")
    || ($_FILES["dosya"]["type"] == "image/png")
    || ($_FILES["dosya"]["type"] == "image/pjpeg"))
    && ($_FILES["dosya"]["size"] < 20000)
    && in_array($extension, $allowedExts))
      {
      if ($_FILES["dosya"]["error"] > 0)
        {
        }
      else
        {
       
     
      
          move_uploaded_file($_FILES["dosya"]["tmp_name"],
          "../arkaplan/" . $_FILES["dosya"]["name"]);
          
        }
      }
    
    $arkaplan = $_FILES["dosya"]["tmp_name"];
    $kisalink = do_seoslug($kategorican);
    $ekle= $db->query("INSERT INTO kategori (mood_adi,mood_kisa,arkaplan) VALUES ('{$kategorican}','{$kisalink}','{$arkaplan}')");
    if($ekle = TRUE) 
    { ?>
    
    <div class="alert alert-success">Mood Kategorisi Başarıyla Eklendi</div>
    
    
    <?php } else { ?>
    <div class="alert alert-danger">Bir sorun olmalı.</div>
    
    
    <?php }
    	 
    	 
    }
    
    ?>
    Burada arka plan resmini seçtirip yüklüyorum fakat "arkaplan" tablosunda /tmp/php6045/ şeklinde resim yolunu gösteriyor. İstemediğim klasötre istemediğim isim resmi atıyor. Daha doğrusu atamıyor ortada resimde yok.
    Yardımlarınızı bekliyorum
  • 29-04-2014, 17:38:41
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @SeckinBilisim; çok basit bi' çözümü var, eve geçince çözümü konuya eklerim.

    @#mobil;
  • 29-04-2014, 18:00:27
    #3
    $arkaplan = $_FILES["dosya"]["tmp_name"];

    olan yeri

    $arkaplan = $_FILES["dosya"]["name"];

    haline getirin. düzelir.
  • 29-04-2014, 18:51:47
    #4
    Üyeliği durduruldu
    digiklan adlı üyeden alıntı: mesajı görüntüle
    $arkaplan = $_FILES["dosya"]["tmp_name"];

    olan yeri

    $arkaplan = $_FILES["dosya"]["name"];

    haline getirin. düzelir.
    Teşekkür ederim resim ismi düzeldi fakat yinede resmi upload ettiği yer belli değil ve aynı şekilde tabloda belirmiyor bu yol. Resmi arkaplan klasörüne upload edilmesi için ne yapıcam
  • 29-04-2014, 19:47:11
    #5
    dirname(__FILE__);

    __DIR__;

    gibi değişken ya da sabitler ile dosya yolunu vermen lazım. ../arkaplan yazarsan alt klasöre geçmiyordur.

    $arkaplan = $_FILES["dosya"]["name"];
    yaptığın yeri
    $arkaplan = 'arkaplan/'.$_FILES["dosya"]["tmp_name"];
    yap


    move_uploaded_file($_FILES["dosya"]["tmp_name"], "../arkaplan/" . $_FILES["dosya"]["name"]);
    olan kısmı da
    move_uploaded_file($_FILES["dosya"]["tmp_name"], str_replace(basename(__DIR__),'arkaplan',__DIR__) . $_FILES["dosya"]["name"]);

    yap, ya da root dizine göre yolu ne ise onu yaz.