2017-03-10 5 views
0

ここでは、サーバーのアップロードイメージ用の私のPHPスクリプトです。私はユーザーが1つのレコードに複数の画像をアップロードできるようにしたい。今のところこのコードでは、1つの画像しか投稿できないため、ユーザは複数の画像を時間通りに投稿することができます。配列を使ってどうすればいいのか分かりません。助けてください。事前に感謝:)PHPフォームを使用して一度に複数の画像をulploadする方法はありますか?

<?php 
    include ("connect.php"); 
    if(isset($_POST['submit'])) 
{ 
$event = $_POST['evnt_name']; 
$image_name = $_FILES['evnt_img']['name']; 
$image_type = $_FILES['evnt_img']['type']; 
$image_size = $_FILES['evnt_img']['size']; 
$image_tmp = $_FILES['evnt_img']['tmp_name']; 

if($event=='' && $image_name==''){ 

    echo "<script>alert('Any field is empty')</script>"; 
    exit(); 
} 
if($image_type=="image/jpeg" OR $image_type=="image/png" OR  $image_type=="image/gif") 
{ 
    if($image_size<=50000) 
    { 
     move_uploaded_file($image_tmp,"imagess/$image_name"); 
    } 
    else 
    { 
     echo "<script>alert('image is large, only 50kb size allowed')</script>"; 
     exit(); 
    } 

} 
else{ 
    echo "<script>alert('image type is invalid')</script>"; 
    exit(); 
} 

$query = "insert into event_update (evnt_text,evnt_img) values ('$event','$image_name')"; 

    if(mysqli_query($conn,$query)) 
    { 
    echo "<script>alert('Post has been published')</script>"; 
    exit(); 
    } 
} 
?> 

そして、ここでフォーム

<div class="col-lg-12"> 
    <form method="POST" action="evntform.php" enctype="multipart/form-data"> 
     <div class="form-group"> 
      <label>Events Name</label> 
      <input type="text" name="evnt_name" placeholder="Write Events Name" class="form-control"> 
     </div> 
     <div class="form-group"> 
      <label>File input</label> 
      <input type="file" name="evnt_img[]"> 
     </div> 
     <button name="submit" type="submit" class="btn btn-default">Submit Button</button> 
    </form> 
</div> 

答えて

1

のための私の単純なブートストラップHTMLコード以下は簡単な例です:

HTML:

<div class="col-lg-12"> 
<form method="POST" action="evntform.php" enctype="multipart/form-data"> 
    <div class="form-group"> 
     <label>Events Name</label> 
     <input type="text" name="evnt_name" placeholder="Write Events Name" class="form-control"> 
    </div> 
    <div class="form-group"> 
     <label>File input</label> 
     <input type="file" name="evnt_img[]" multiple> 
    </div> 
    <button name="submit" type="submit" class="btn btn-default">Submit Button</button> 
</form> 

選択するPHPコード最初の画像がアップロード:

<?php 
    include ("connect.php"); 
    if(isset($_POST['submit'])) 
{ 
$event = $_POST['evnt_name']; 
$image_name = $_FILES['evnt_img'][0]['name']; 
$image_type = $_FILES['evnt_img'][0]['type']; 
$image_size = $_FILES['evnt_img'][0]['size']; 
$image_tmp = $_FILES['evnt_img'][0]['tmp_name']; 
.... 

あなたは、すべての画像のためのforループを使用することができます。

+0

for($i=0;$i<count($_FILES['evnt_img']);$i++){ $image_name = $_FILES['evnt_img'][$i]['name']; } 

J、良い..私は、私は 'ループ' を使用する方法を教えて初心者にplz –

+0

上記のforループは0からあなたの配列にあるファイル数を数えます:https://www.w3schools.com/php/php_looping_for.asp あなたがプログラムしている間に学んでください! –

+0

しかし、今では問題はフロントサイドです。フォームユーザーではどのように複数の画像を選択できますか..選択できる画像は1つだけです。 –

関連する問題