v2.5.2
Giriş yap

Form'da birden fazla input'dan resim yükleme

ezel
910 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Merhabalar arkadaşlar. formumda 2 adet file input'u olacak. bu inputlarla 2 farklı resim yükletmek istiyorum. ama resim yükleme fonksiyonunu buna göre nasıl ayarlayabilirim bilemiyorum. yardımcı olurmusunuz :)

<?php
    if(isset($_POST['genelayarbutton'])){

  require_once 'inc/class.upload.php';

  $baslik     = post('baslik');
  $siteurl    = post('url');
  $etiketler  = post('etiketler');
  $aciklama   = post('aciklama');

  if(!$baslik || !$siteurl || !$etiketler || !$aciklama){
    uyari('Boş alan bırakmayınız','danger');
  }else{

    $image  = new Upload($_FILES['resim']);
    if($image->uploaded) {

      $rname = sha1(md5(uniqid()));
      $image->allowed = array("image/*");
      $image->image_convert = "png";
      $image->file_new_name_body = $rname;
      $image->image_text = " ";
      $image->image_text_position = "BR";
      $image->process("../images/");
      if($image->processed){

        $ayarguncelle = $db->prepare("UPDATE ayarlar SET

          site_baslik =:b,
          site_logo   =:lo,
          site_url    =:u,
          site_keyw   =:k,
          site_desc   =:d

          ");

        $ayarguncelle->execute([
          ':b'=> $baslik,
          ':lo'=>$rname.".png",
          ':u'=> $siteurl,
          ':k'=> $etiketler,
          ':d'=> $aciklama
        ]);

      }else{
        uyari('Resim yüklenemedi','danger');
      }

    }else{

      $ayarguncelle = $db->prepare("UPDATE ayarlar SET
        site_baslik =:b,
        site_url    =:u,
        site_keyw   =:k,
        site_desc   =:d
        ");

      $ayarguncelle->execute([
        ':b'=> $baslik,
        ':u'=> $siteurl,
        ':k'=> $etiketler,
        ':d'=> $aciklama

      ]);
    }

    if($ayarguncelle){
      uyari('Genel ayarlar güncellendi','success');
      header('refresh:2;url='.$_SERVER['HTTP_REFERER']);
    }
  }
}
?>
Cevap yaz
Cevaplar (6)
webdevyusuf
1073 gün önce

Discord'unu yazabilirsen daha iyi olur benim için :)

qplot
1082 gün önce

verot upload kullanıyorsun ve ındırdıgın dosya ıcerısınde multi upload ornegı var


 $files = array();
    foreach ($_FILES['resim'] as $k => $l) {
        foreach ($l as $i => $v) {
            if (!array_key_exists($i, $files))
                $files[$i] = array();
            $files[$i][$k] = $v;
        }
    }

 
    foreach ($files as $file) {
    
    $handle = new Upload($file);
    
    
    KODLARINI BUNUN ICINE KOY
    
     }

name="resim[]" şeklinde olacak

webdevyusuf
1082 gün önce

Yani tek inputtan hiç bir farkı yok. Sadece $_FILES'ın key değerini değiştiriyorsun inputun name değerini veriyorsun o kadar.

ezel
1082 gün önce

@hakankorkz hocam maalesef ortalık iyice karıştı :)
@webdevyusuf hocam sizin önerinizi anlayamadım ya kusura bakmayın. daha açıklayıcı anlatabilir misiniz.?

webdevyusuf
1082 gün önce
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <?php
    if ($_POST) {
        $image1 = $_FILES['image1'];
        $image2 = $_FILES['image2'];
    }
    ?>
    <form action="" method="post" enctype="multipart/form-data">
        <input type="file" name="image1[]"> <br />
        <input type="file" name="image2[]"> <br />
        <button type="submit">Upload</button>
    </form>
</body>
</html>

Yukarıda verdiğim örnekteki gibi alıcaksın. $_FILES değişkeninden sonra $_FILES['key'] bölümündeki key değerine inputun ismini yazıcaksın.

İyi çalışmalar dilerim..

hakankorkz
1082 gün önce

bu sorunu çözecektir sanırım


<?php
if(isset($_POST['genelayarbutton'])){

    require_once 'inc/class.upload.php';

    $baslik     = post('baslik');
    $siteurl    = post('url');
    $etiketler  = post('etiketler');
    $aciklama   = post('aciklama');

    if(!$baslik || !$siteurl || !$etiketler || !$aciklama){
        uyari('Boş alan bırakmayınız','danger');
    }else{

        $image  = new Upload($_FILES['resim']);

        $image2  = new Upload($_FILES['resim2']);

        if($image->uploaded || $image2->uploaded ) {

            $rname = sha1(md5(uniqid()));
            $image->allowed = array("image/*");
            $image->image_convert = "png";
            $image->file_new_name_body = $rname;
            $image->image_text = " ";
            $image->image_text_position = "BR";
            $image->process("../images/");

            $rname2 = sha1(md5(uniqid()));
            $image2->allowed = array("image/*");
            $image2->image_convert = "png";
            $image2->file_new_name_body = $rname;
            $image2->image_text = " ";
            $image2->image_text_position = "BR";
            $image2->process("../images/");

            if($image->processed || $image2->processed){

                $ayarguncelle = $db->prepare("UPDATE ayarlar SET

          site_baslik =:b,
          site_logo   =:lo,
          site_logo2   =:lo2,
          site_url    =:u,
          site_keyw   =:k,
          site_desc   =:d

          ");

                $ayarguncelle->execute([
                    ':b'=> $baslik,
                    ':lo'=>$rname.".png",
                    ':lo2'=>$rname2.".png",
                    ':u'=> $siteurl,
                    ':k'=> $etiketler,
                    ':d'=> $aciklama
                ]);

            }else{
                uyari('Resim yüklenemedi','danger');
            }

        }else{

            $ayarguncelle = $db->prepare("UPDATE ayarlar SET
        site_baslik =:b,
        site_url    =:u,
        site_keyw   =:k,
        site_desc   =:d
        ");

            $ayarguncelle->execute([
                ':b'=> $baslik,
                ':u'=> $siteurl,
                ':k'=> $etiketler,
                ':d'=> $aciklama

            ]);
        }

        if($ayarguncelle){
            uyari('Genel ayarlar güncellendi','success');
            header('refresh:2;url='.$_SERVER['HTTP_REFERER']);
        }
    }
}
?>