v2.5.2
Giriş yap

Php Ürün kaydederken 3 mb'dan büyük dosya hatası

yazilimyolcusu
484 defa görüntülendi

Ürün kaydederken 3 mb'dan büyük dosya hatası alıyorum. Yardımcı olabilir misiniz?

<?php
  if(isset($_FILES['dosya'])) {
  $dosya_adi = $_FILES['dosya']["name"];
  $gecici_yol = $_FILES['dosya']["tmp_name"];
  $dosya_tipi = $_FILES['dosya']["type"];
  $dosya_boyutu = $_FILES['dosya']["size"];
 
  $ad = $_POST['ad'];
  $ozellik = $_POST['ozellik'];
  $kategori = $_POST['kategori'];
  $eskifiyat = $_POST['eskifiyat'];
  $yenifiyat = $_POST['yenifiyat'];
  $indirimlifiyat = $_POST['indirimlifiyat'];
  $urunsayisi = $_POST['urunsayisi'];
  $urunalani = $_POST['urunalani'];
 
  if($dosya_boyutu > (1024*1024*3)) { ?>
    <div style="margin-top:25px; text-align:center; font-size:30px;">
      <?php
      echo "Dosya Boyutu 3 MB'dan Büyük Olamaz <br>";
      echo "Form Sayfasına Gitmek İçin";
      ?>
      <a href="urunekle.php" style="color:blue;">Tıklayınız</a>
    </div>
      <?php
      exit;
  }
   
    if(!($dosya_tipi=="image/jpeg" || $dosya_tipi=="image/jpg" || $dosya_tipi=="image/png")) { ?>
      <div style="margin-top:25px; text-align:center; font-size:30px;">
        <?php
        echo "Sadece Jpeg, Jpg ve Png Yükleyebilirsiniz <br>";
        echo "Form Sayfasına Gitmek İçin";
        ?>
        <a href="urunekle.php" style="color:blue;">Tıklayınız</a>
      </div>
        <?php
        exit;
    }
    if(move_uploaded_file($gecici_yol,"../../images/indexurunler/" . $dosya_adi)) {
  foreach($ad as $index => $names) {
    $s_ad = $names;
    $s_ozellik = $ozellik[$index];
    $s_kategori = $kategori[$index];
    $s_eskifiyat = $eskifiyat[$index];
    $s_yenifiyat = $yenifiyat[$index];
    $s_indirimlifiyat = $indirimlifiyat[$index];
    $s_urunsayisi = $urunsayisi[$index];
    $s_urunalani = $urunalani[$index];
    $sorgualani = "INSERT INTO indexsayfaurun (urun_resim, urun_ad, urun_ozellik, urun_kategori, urun_eskifiyat, 
                                              urun_yenifiyat, urun_indirimlifiyat, urun_sayisi, 
                                              urun_alani) VALUES ('$dosya_adi', '$s_ad', '$s_ozellik', '$s_kategori', '$s_eskifiyat', '$s_yenifiyat', '$s_indirimlifiyat', '$s_urunsayisi', '$s_urunalani')";
     
  }
   
    $sorgu = mysqli_query($db, $sorgualani);
    if($sorgu) {
      echo "tamam";
    } else {
      echo "olmadı";
    }
  }
}
?>
PHP
Cevap yaz
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Cevaplar (6)
yazilimyolcusu
799 gün önce

Bu şekilde hallettim.

<?php
if(isset($_FILES['dosya'])) {
 
  $ad = $_POST['ad'];
  $ozellik = $_POST['ozellik'];
  $kategori = $_POST['kategori'];
  $eskifiyat = $_POST['eskifiyat'];
  $yenifiyat = $_POST['yenifiyat'];
  $indirimlifiyat = $_POST['indirimlifiyat'];
  $urunsayisi = $_POST['urunsayisi'];
  $urunalani = $_POST['urunalani'];

  

    foreach($ad as $index => $names) {
      $s_ad = $names;
      $s_ozellik = $ozellik[$index];
      $s_kategori = $kategori[$index];
      $s_eskifiyat = $eskifiyat[$index];
      $s_yenifiyat = $yenifiyat[$index];
      $s_indirimlifiyat = $indirimlifiyat[$index];
      $s_urunsayisi = $urunsayisi[$index];
      $s_urunalani = $urunalani[$index];


      
      $dosya_sayisi = count($_FILES['dosya']["name"]);
      for($i=0; $i<$dosya_sayisi; $i++) {
        $dosya_adi = $_FILES['dosya']["name"][$i];
        $gecici_yol = $_FILES['dosya']["tmp_name"][$i];
        $dosya_tipi = $_FILES['dosya']["type"][$i];
        $dosya_boyutu = $_FILES['dosya']["size"][$i];

        if($dosya_boyutu > (1024*1024*3)) { ?>
          <div style="margin-top:25px; text-align:center; font-size:30px;">
            <?php
            echo "Dosya Boyutu 3 MB'dan Büyük Olamaz <br>";
            echo "Form Sayfasına Gitmek İçin";
            ?>
            <a href="urunekle.php" style="color:blue;">Tıklayınız</a>
          </div>
            <?php
            exit;
        }
      
        if(!($dosya_tipi=="image/jpeg" || $dosya_tipi=="image/jpg" || $dosya_tipi=="image/png")) { ?>
          <div style="margin-top:25px; text-align:center; font-size:30px;">
            <?php
            echo "Sadece Jpeg, Jpg ve Png Yükleyebilirsiniz <br>";
            echo "Form Sayfasına Gitmek İçin";
            ?>
            <a href="urunekle.php" style="color:blue;">Tıklayınız</a>
          </div>
            <?php
            exit;
        }

        if(move_uploaded_file($gecici_yol,"../../images/indexurunler/" . $dosya_adi)) {

          $sorgualani = "INSERT INTO indexsayfaurun (urun_resim, urun_ad, urun_ozellik, urun_kategori, 
                                                    urun_eskifiyat, urun_yenifiyat, urun_indirimlifiyat, 
                                                    urun_sayisi, urun_alani) 
                                                    VALUES ('$dosya_adi', '$s_ad', '$s_ozellik', '$s_kategori', '$s_eskifiyat', '$s_yenifiyat', '$s_indirimlifiyat', '$s_urunsayisi', '$s_urunalani')";
          $sorgu = mysqli_query($db, $sorgualani);
        }
      }
    }

  if($sorgu) { ?>
    <div style="margin-top:25px; text-align:center; font-size:30px;">
    <?php
    echo "Ürün Kaydedildi";
    ?>
    </div>
    <?php
    // header("Refresh:3; url=urunekle.php");
  } else { ?>

    <div style="margin-top:25px; text-align:center; font-size:30px;">
      <?php
      echo "Ürün Eklenemedi <br>";
      header("Refresh:3; url=urunekle.php");
      ?>
    </div>

  <?php
  } 
}
?>
PHP
h4ckdr0
804 gün önce

İki alanı birleştirmek için, dosya yükleme işlemi yapılırken ayrıca veritabanına kayıt işlemi de gerçekleştirilmeli. Örnek olarak, dosya yükleme işlemi başarılı olduğunda, veritabanına kayıt işlemi gerçekleştirilebilir. Bu amaçla, dosya yükleme işlemi sonrasında yer alan "move_uploaded_file" fonksiyonunun içerisinde yer alan "if" bloğunun içerisine yeni bir "foreach" döngüsü ekleyebilirsiniz ve burada veritabanına kayıt işlemi gerçekleştirebilirsiniz.

h4ckdr0
804 gün önce

Kodunuzda dosya yükleme işlemi yapılırken yüklenen dosyanın boyutunun 3 MB'dan büyük olup olmadığı kontrol edilmektedir. Eğer dosya 3 MB'dan büyükse kullanıcıya "Dosya Boyutu 3 MB'dan Büyük Olamaz" uyarısı verilmektedir ve işlem sonlandırılmaktadır. Bu kontrolü kaldırmak isterseniz, kontrol bloğunu kodunuzdan silebilirsiniz veya kontrol bloğunun içerisinde yer alan "if($dosya_boyutu > (1024*1024*3))" kontrol kriteri değiştirerek dosya boyutunun daha büyük olmasına izin verebilirsiniz.

yazilimyolcusu
804 gün önce

Cevap veren yok mu arkadaşlar.

yazilimyolcusu
805 gün önce

Şu iki alanı birleştirmem lazım.
Çoklu kaydetme.php

if($_POST) {

  $ad = $_POST['ad'];
  $ozellik = $_POST['ozellik'];
  $kategori = $_POST['kategori'];
  $eskifiyat = $_POST['eskifiyat'];
  $yenifiyat = $_POST['yenifiyat'];
  $indirimlifiyat = $_POST['indirimlifiyat'];
  $urunsayisi = $_POST['urunsayisi'];
  $urunalani = $_POST['urunalani'];

  foreach($ad as $index => $names) {
    $s_ad = $names;
    $s_ozellik = $ozellik[$index];
    $s_kategori = $kategori[$index];
    $s_eskifiyat = $eskifiyat[$index];
    $s_yenifiyat = $yenifiyat[$index];
    $s_indirimlifiyat = $indirimlifiyat[$index];
    $s_urunsayisi = $urunsayisi[$index];
    $s_urunalani = $urunalani[$index];
    $sorgualani = "INSERT INTO indexsayfaurun (urun_ad, urun_ozellik, urun_kategori, urun_eskifiyat, 
                                              urun_yenifiyat, urun_indirimlifiyat, urun_sayisi, 
                                              urun_alani) VALUES ('$s_ad', '$s_ozellik', '$s_kategori', '$s_eskifiyat', '$s_yenifiyat', '$s_indirimlifiyat', '$s_urunsayisi', '$s_urunalani')";
     
  }
   
    $sorgu = mysqli_query($db, $sorgualani);
    if($sorgu) {
      echo "tamam";
    } else {
      echo "olmadı";
    }
  }
PHP
if(isset($_POST['resim-yukle'])){
        $dizin_yol = "../yuklenenler";
        $dosya_adet = count($_FILES['dosya']['name']);
        $dosya_tipi = $_FILES['dosya']["type"];
        $dosya_boyutu = $_FILES['dosya']["size"];
        
        if($dosya_boyutu > (1024*1024*3)) { ?>
      <div style="margin-top:25px; text-align:center; font-size:30px;">
        <?php
        echo "Dosya Boyutu 3 MB'dan Büyük Olamaz <br>";
        echo "Form Sayfasına Gitmek İçin";
        ?>
        <a href="urunekle.php" style="color:blue;">Tıklayınız</a>
      </div>
        <?php
        exit;
    }
  
    if(!($dosya_tipi=="image/jpeg" || $dosya_tipi=="image/jpg" || $dosya_tipi=="image/png")) { ?>
      <div style="margin-top:25px; text-align:center; font-size:30px;">
        <?php
        echo "Sadece Jpeg, Jpg ve Png Yükleyebilirsiniz <br>";
        echo "Form Sayfasına Gitmek İçin";
        ?>
        <a href="urunekle.php" style="color:blue;">Tıklayınız</a>
      </div>
        <?php
        exit;
    }
        
        
        for($i=0; $i<$dosya_adet; $i++) {
            if (!empty($_FILES['dosya']['name'][$i])) {
                move_uploaded_file($_FILES['dosya']['tmp_name'][$i], $dizin_yol . "/" . $_FILES['dosya']['name'][$i]);
                header("Location: ?dosya=yuklendi");
            }
        }
        }
PHP
goldenooze
805 gün önce

Merhaba

if($dosya_boyutu > (1024*1024*3)) { ?>

PHP

Şeklinde bir if blogunuz var burada 3.145.728 byte cinsinden sınırlandırmada bulunduruyorsunuz. Bu sebep ile
3 mb dan fazla dosya yüklemek istediğiniz de hata veriyor.

Uyarı Bilgisi
      echo "Dosya Boyutu 3 MB'dan Büyük Olamaz <br>";
      echo "Form Sayfasına Gitmek İçin";
PHP

bu sebep ile 102410243 => 3 yerine daha fazla / daha az sayı belirtebilirsiniz.

Teşekkürler