2016-03-23 20 views
1

ben birden fazla dosya (resim) kabul edebilir tipi dosyasının bir giriş içeren bir form var Web sitesine dinamik olarak eklendikleri resim veya çoklu görüntüler, kullanıcı istediği takdirde bir veya tümünü kaldırabilir.gönderme dizisi

Girdi öğesinden hangi dosyaların seçildiğini php komut dosyasına göndermek için bir yol var mı?

Değilse, yalnızca kullanıcı seçtiği resimleri nasıl gönderebilirim? Yani, kullanıcının JavaScript'te başka bir dizide seçtiği şeyi koyabilirim ama bunları php komut dosyasına nasıl gönderebilirim? kullanıcı üç görüntüyü seçer ben bu görüntüler olarak ekrana içine ekler kullanmak JavaScript kodu vardır dosyaları ve kullanıcı birini veya tümünü kaldırma seçeneğine sahip olduğunda

örneğin fazla ayrıntı yılında

Düzenlendi Onlara tıklayarak onları. Bu yüzden benim problemim, örneğin, örneğin görüntülerden birini kaldırırsa, sadece iki görüntüyü php komut dosyasına nasıl gönderebilirim?

Tam kod aramıyorum. Sadece nasıl başarılacağına dair bir ipucu arıyorum.

+2

herhangi PHP yazdım önce jQuery eklemeyi unutmayın? SO bir kod yazma hizmeti değildir, * mevcut * kodu düzeltmek içindir. – Oisin

+2

@Oisin - Soru php komut dosyasına nasıl yazılacağı değil, php betiğine nasıl gönderileceğini düşünüyorum. –

+0

@ has19 - Kullanıcının görüntüleri nasıl seçtiğini gösteren kodu gönderir misiniz? –

cevap

2

Ne istediğini anladım.

Bunu elde etmek için Ajax'ı formData ile birleştirin.

$(document).ready(function(){ 
    $("form#data").submit(function(){ 

     // create your filtred list of files from your file input 
     var data = {}; 
     $.each($('#fileupload')[0].files, function(i, file) { 

      // Keep only the files that the user has selected 
      if (i % 2 == 0){ // <--- CHANGE THIS 
       data['file-'+i] = file; 
      } 
     }); 

     // create a FormData (to send files with AJAX) 
     var formData = new FormData(); 
     for (var key in data) { 
      formData.append(key, data[key]); 
     } 

     // send that formData 
     php_script_url = "your_script.php" 
     $.ajax({ 
      url: php_script_url, 
      type: 'POST', 
      data: formData, 
      async: false, 
      success: function (data) { 
       console.log(data); 
      }, 
      cache: false, 
      contentType: false, 
      processData: false 
     }); 

     return false; 
    }); 
}); 

bu komut

<script src="//code.jquery.com/jquery-1.12.0.min.js"></script> 
+0

tamam bence bu doğru cevap .i tam olarak söylediğin gibi yaptım ama örneğin $ _POST ['file-0'] kullanarak php komut dosyasından gönderilen veri değişkenine dahil olan dosyalardan birine erişmeye çalışıyorum. boş. javascript kodunu zaten ayıkladım ve veri değişkeni beklendiği gibi ayarlandı. – has19

+0

Dosya yerine formdata için bir dize eklerseniz, javascript kodunu kontrol etmeme rağmen dosyaları ile değil, ancak dosyalar veri dosyalarını beklendiği gibi içerir. – has19

+0

thx çok fazla dosyaya $ _POST ile erişiyordum, $ _FILES ile onlara erişmeliyim – has19