2016-08-14 5 views
1

メールを送信するための書き込みスクリプトがあります。それはランダムな電子メールを受け取り、ランダムな値で送信します - すべてうまく動作します。今、私はちょうど複数の画像を送信するオプションを追加したい - ランダムなものを選択し、電子メールで送信します。AJAX Maile Sender + Multiple Attachment + Bootstrapプラグイン

私は、ブートストラップを使用して、私はこのプラグインを見つけました:http://plugins.krajee.com/file-input

しかし、私は405エラーを取得する画像をアップロードしようとします。 Meabyあなたはajaxで添付ファイルを送信する他の方法を知っていますか?

$("#dodawarka").submit(function(e){ 
     e.preventDefault(); 


     var tytul = $("#tytul").val(); 
     var kontos = $("#lkonta").val(); 
     var tresc = $("#tresc").val(); 
     var jemail = $("#kemaile").val(); 
     var jemail = $("#kemaile").val(); 


     var dataString = 'listakont=' + kontos + '&tytul=' + tytul + '&tresc=' + tresc + '&emailjaki=' + jemail; 

     $.ajax({ 
     type: "POST", 
     url: "dodaj.php", 
     data: dataString, 
      beforeSend: function(){ 
       $('#tytul, #tresc, #przyciskx').prop("disabled", true); 
       $('.wczytywanie').show(); 
      }, 
      success: function(){ 
       $('#ddodaneok').show(); 
       $('#dodawarka').slideUp(); 
       $('#linkizwrotne').show(); 
      }, 
      error: function(){ 
       $('#kurwasabledy').show(); 
      } 
    }); 

     return false; 
}); 

そして:

は、ここに私のコードです

<form role="form" enctype="multipart/form-data" id="dodawarka" method="post"> 
    <div class="form-group" id="listakont" style="visibility:hidden; position: absolute;"> 
    <label for="listakont">Lista kont na które zostaną wysłane wpisy</label> 
    <textarea class="form-control" rows="10" id="lkonta" disabled></textarea> 
    </div> 
    <div class="form-group" id="ssssemail" style="visibility:hidden; position: absolute;"> 
    <label for="ssssemail">Emaile z których będzie można wysyłam wpisy podaj w formacie</label> 
    <textarea class="form-control" rows="10" id="kemaile"></textarea> 
    </div> 
    <div class="form-group"> 
    <label for="tytul">Podaj tytuł wpisu <em>+spintax</em></label> 
    <input type="tytul" class="form-control" id="tytul" required> 
    </div> 
    <div class="form-group"> 
    <label for="tresc">Treść wpisu <em>+spintax</em></label> 
    <textarea class="form-control" rows="25" id="tresc" required></textarea> 
    </div> 
    <div class="form-group"> 
    <label for="obrazki">Dodaj obrazki</label> 
    <input id="input-id" type="file" class="file" data-preview-file-type="text" multiple=true data-min-file-count="1"> 
    </div> 
    <button type="submit" class="btn btn-default" id="przyciskx"><img src="img/infinity.gif" class="wczytywanie" /> Wyślij na zaplecza</button> 
</form> 

答えて

0

試してみてください。

<input id="input-id" type="file" class="file" data-preview-file-type="text" multiple name="files[]" data-min-file-count="1">

を追加しました:name="files[]"なくmultiple=trueだけmultiple

とPHPには実行します。

$output = ''; 

if(is_array($_FILES)){ 

    foreach($_FILES['files']['name'] as $name => $value) 
    { 
     $file_name = explode(".", $_FILES['files']['name'][$name]); 
     $allowed_ext = array("jpg", "jpeg", "png", "gif"); 

     if(in_array($file_name[1], $allowed_ext)) 
      {$new_name = $userid.md5(rand()).".".$file_name[1]; 

      $sourcePath = $_FILES['files']['tmp_name'][$name]; 

      $targetPath = "uploadedimages/".$new_name; 

      include_once("connection.php"); // your connection to DB and select DB 

      $sql = "INSERT into images(userid, imgpath) VALUES ('$userid', '$targetPath')"; 

      $query = $conn->query($sql); 


      if($query && move_uploaded_file($sourcePath, $targetPath)) 
      { 
       $output .= '<div class="col-md-3"><img src="'.$targetPath.'" class="img-thumbnail" width="150px" height="180px"/></div>'; 
      } 
     } 

    } 
} 
echo $output; 
+0

おかげで、だけでなく、スクリプトがあなたがあなたが既に持っているAJAXを使用することができます:)の唯一の友人AJAXとそれを送っている –

+0

:) AJAXでそれを送信する必要性を場所。 – Somename