Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
7
Cevap
354
Tıklama
0
Öne Çıkarma
Php Dosya Kontrolü Problemi
M
2 yıl
Onbaşı
Konu Sahibi

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



    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];
      $s_icerikid = $icerikid[$index];
     
      $dosya = 'json/' . $s_icerikid . '.json';


      if (file_exists($dosya)) {


      echo "$dosya diye bir dosya var";
      exit();
      } else {
        // dosya yoksa islemlere devam et
        global $filename;
        $filename = $s_icerikid.".json";
        $myObj->ss_dosya_adi[] = $dosya_adi;
        $myObj->ss_ad = $s_ad;
        $myObj->ss_ozellik = $s_ozellik;
        $myObj->ss_kategori = $s_kategori;
        $myObj->ss_eskifiyat = $s_eskifiyat;
        $myObj->ss_yenifiyat = $s_yenifiyat;
        $myObj->ss_indirimlifiyat = $s_indirimlifiyat;
        $myObj->ss_urunsayisi = $s_urunsayisi;
        $myObj->ss_urunalani = $s_urunalani;
        $myObj->ss_icerikid = $s_icerikid;



        $dizijson = json_encode($myObj);
        file_put_contents("json/" . $filename, $dizijson);


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


        }
      }
    }


Merhaba. Php'de bir yerde takıldım. Sorunum şu: Bir form var. Inputlar vs. var form'da. "$icerikid" değişkenine depolanan veri, json dosyası oluşturmamı sağlıyor. Mesela input'a "elma" kelimesini girersem, "elma.json" dosyası oluşuyor. Şimdi, "elma.json" dosyası mevcut mu diye kontrol etmek istediğimde de, eğer dosya varsa "dosya mevcut" uyarısını veriyor. Eğer dosya mevcut değilse dosyayı oluşturuyor ve "dosya mevcut" uyarısı veriyor. Halbuki, dosya mevcut değilse uyarı vermemesi lazım.



T
2 yıl
Er

if (file_exists($dosya)) {
yazan yeri

if (!file_exists($dosya)) {



M
2 yıl
Onbaşı
Konu Sahibi

Merhabalar. Sizin önerdiğiniz kodu yaptığımda, eğer dosya mevcutsa arka arkaya iki kere uyarı veriyor.
Şu şekilde: "json/3.jsonadında dosya var" "json/3.jsonadında dosya var"
Eğer dosya mevcut değilse tek uyarı veriyor. Şu şekilde: "json/3.jsonadında dosya var"

Benim sorun yaşadığım yerde tam burası. Dosya mevcut olsa da uyarı veriyor, olmasa da. Normalde dosya mevcut değilken uyarı vermemesi lazım. Sorun şöyle bir şeyden mi kaynaklanıyor acaba? Döngüde değer iki defa işleniyor. İlkinde dosya mevcut değilken, ikinci kere döndüğünde dosya mevcut uyarısı veriyor. Ama nasıl çözmem gerektiğini bilemedim.



D
2 yıl
Yarbay

$dosya = 'json/'.$_POST['ad'].'.json';

if(file_exist($dosya)) {
echo "hede";
exit();
}

file_put_contents($dosya,json_encode($_POST));



M
2 yıl
Onbaşı
Konu Sahibi

"Delifişek" Şimdi şöyle anlatayım. Dosyanın adını zaten "$icerikid" değişkenine aktarmıştım. Çektiğim veri, multiple upload olduğu için de bu değişkeni döngüyle kullandım ve değişkenim "$s_icerikid" oldu. Verilerimi json dosyasına kayıt etmek istediğim için de bu değişken, json kodlarının içinde "$ss_icerikid" ye dönüştü. Sizin kullandığınız "$_POST" u ben bu şekilde nasıl kullanabilirim anlayamadım.



D
2 yıl
Yarbay

Multiple upload derken ?

şunun çıktısını gönderirmisin ?


echo "
".print_r($_POST,true)."
";



M
2 yıl
Onbaşı
Konu Sahibi

Dediğinizi nereye yazacağımı bilemedim. Form'u koyuyorum. Multi upload (çoklu yükleme) işlemi. Input'ların "name" alanlarında "ad[]" şeklindeki yapı.
<form action="urunekleislem.php" method="POST"  enctype="multipart/form-data">
            <div class="row text-white mt-3 text-center mx-auto" style="margin-bottom:10px;">
                <div class="col bg-success" style="height:35px; line-height:35px;">
                    Resim Seç
                </div>
            </div>
           
            <div id="hepsi" >
                <div class="row">
                    <div class="col-lg-12 p-1 text-white mt-1">
                        <input class="text-center form-control urunekle_urunadi" type="file" name="dosya[]" value="Resim Yükle" id="dosya" required multiple>
                    </div>


                   


                    <div class="col-lg-12 p-1 text-white mt-1">
                        <input class="text-center form-control urunekle_urunadi" type="text" name="ad[]" placeholder="Ürün Adı" required>
                    </div>


                    <div class="col-lg-12 p-1 text-white mt-1">
                        <textarea class="col-lg-12 ckeditor text-center indexsayfa_urunekle_urunozellikleri" name="ozellik[]" style="height:200px;" placeholder="Özellik Giriniz" required></textarea>
                    </div>                    


                    <div class="col-lg-12 p-1 text-white mt-1">
                        <select id="mySelect" onclick="myFunction()" onchange="kategorisec()" class="col-lg-12 text-center urunekle_urun_select" name="kategori[]" required>
                            <option value="">
                            Ürün Kategorisi
                            </option>


                            <?php
                                $kategorisorgusu = "SELECT * FROM kategoriekle";
                                $kategorisorgu = mysqli_query($db, $kategorisorgusu);
                                foreach($kategorisorgu as $kategorigoster) {
                            ?>
                            <option id="kategori" value="<?php echo $kategorigoster['kategori_adi']; ?>">
                                <?php
                                    echo $kategorigoster['kategori_adi'];
                                ?>
                            </option>
                            <?php } ?>
                           
                        </select>
                    </div>


                    <div class="col-lg-12 p-1 text-white mt-1">
                        <select class="col-lg-12 text-center urunekle_deger_select" name="urunalani[]" required>
                            <option value="">
                            Alan Kategorisi
                            </option>


                            <option name="slayturunekle" value="slayturunekle">
                            Slayt Ürün Ekle
                            </option>


                            <option name="encoksatilanurunekle" value="encoksatilanurunekle">
                            En Çok Satılan Ürün Ekle
                            </option>


                            <option name="populerurunekle" value="populerurunekle">
                            Popüler Ürün Ekle
                            </option>


                            <option name="sicakurunekle" value="sicakurunekle">
                            Sıcak Fırsatlar Ekle
                            </option>


                            <option name="yenigelenurunekle" value="yenigelenurunekle">
                            Yeni Gelen Ekle
                            </option>


                            <option name="solbannerekle" value="solbannerekle">
                            Sol Banner Ekle
                            </option>


                            <option name="ortabannerekle" value="ortabannerekle">
                            Orta Banner Ekle
                            </option>


                            <option name="sagbannerekle" value="sagbannerekle">
                            Sağ Banner Ekle
                            </option>


                            <option name="ozelurunlerekle" value="ozelurunlerekle">
                            Özel Ürünler Ekle
                            </option>


                            <option name="altbannerekle" value="altbannerekle">
                            Alt Banner Ekle
                            </option>


                            <option name="soneklenenurunlerekle" value="soneklenenurunlerekle">
                            Son Eklenen Ürünler Ekle
                            </option>
                        </select>
                    </div>


                    <div class="col-lg-12 p-1 text-white mt-1">
                        <input class="col-lg-12 text-center indexsayfa_urunekle_eskifiyat" type="text" name="eskifiyat[]" placeholder="Eski Fiyat" required>
                    </div>


                    <div class="col-lg-12 p-1 text-white mt-1">
                        <input class="col-lg-12 text-center indexsayfa_urunekle_yenifiyat" type="text" name="yenifiyat[]" placeholder="Yeni Fiyat" required>
                    </div>


                    <div class="col-lg-12 p-1 text-white mt-1">
                        <input class="col-lg-12 text-center indexsayfa_urunekle_indirimlifiyat" type="text" name="indirimlifiyat[]" placeholder="İndirimli Fiyat" required>
                    </div>


                    <div class="col-lg-12 p-1 text-white mt-1">
                        <input id="e" class="col-lg-12 text-center indexsayfa_urunekle_urunsayisi" type="text" name="urunsayisi[]" placeholder="Ürün Sayısı" required>
                    </div>


                    <div class="col-lg-12 p-1 text-white mt-1">
                        <input id="e" class="col-lg-12 text-center indexsayfa_urunekle_urunsayisi" type="text" name="icerikid[]" placeholder="İçerik Id" required>
                    </div>



                </div>
            </div>



            <div class="pastenewforms"> </div>


           
            <input type="submit" class="btn d-grid w-25 btn-success mx-auto mt-2" value="Ürünü Kaydet">
        </form>



D
2 yıl
Yarbay

formdan dizi (array) post etmek 20 sene öncenin hack soytarılığı, ona da peki de. senin 1 tane formun var. nasıl birden fazla ürün post edeceksin.

yani bir form alanının adı eskifiyat[] olduğu zaman sen teorik olarak 30 tane eskifiyat gönderebilirsin demek.

-form1
eskifiyat[]
-form2
eskifiyat[]
-form3
eskifiyat[]
-form4
eskifiyat[]

gibi

lakin dediğim gibi bunlar 20 sene öncesinin saçma çözümleri.

veya sen tam olarak ne yapmaya çalışıyorsun. hedefin nedir ?



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.