2017-03-10 2 views
0

Hier mein PHP-Skript für das Hochladen von Image im Server. Ich möchte, dass Benutzer mehrere Bilder auf einen Datensatz hochladen können. gerade jetzt, in diesem Code zur Zeit nur ein Bild kann posten, die Anforderung des Benutzers ist sie können mehrere Bilder zur Zeit posten. Ich weiß nicht, wie ich Arrays verwenden kann. bitte hilfe. Vielen Dank im Voraus :)Wie können mehrere Bilder gleichzeitig mit dem PHP-Formular hochgeladen werden?

<?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(); 
    } 
} 
?> 

Und unter meinem einfachen Bootstrap-HTML-Code für Formular

<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> 

Antwort

1

Hier ist ein kurzes Beispiel:

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-Code zur Auswahl das erste Bild hochgeladen:

<?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']; 
.... 

Sie ein for-Schleife für jedes Bild verwenden:

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

$image_name = $_FILES['evnt_img'][$i]['name']; 

} 

J ..

+0

gut, gut, dass ich mir Neuling sagen, wie ich in verwenden kann 'Loop' über code .. plz –

+0

die obige for-Schleife zählt von 0 bis zur Anzahl der Dateien, die in Ihrem Array ist: Bitte sehen Sie dies: https://www.w3schools.com/php/php_looping_for.asp Lernen Sie, während Sie programmieren! –

+0

naja, aber jetzt ist das problem vorne ... in form benutzer wie kann man mehrere bilder auswählen .. es ist nur ein bild wählbar. –

Verwandte Themen