2016-12-23 4 views
1

私はPHPを初めて使用しています。私はユーザーが自分のデータに登録できるフォームを持っています。 私は彼がまた複数のイメージをアップロードできる余分なオプションを与えました。複数の画像がそのパスにアップロードされています。ここでは、データベースに自分の名前を送信し、ユーザーがアップロードした複数の画像をすべて取得したいと考えています。複数のファイル(イメージ)名をデータベースに送信する方法と、ユーザーがアップロードしたすべてのイメージを取得する方法

ここに私の複数のファイルのコードです。

<form action="" method="POST" enctype="multipart/form-data"> 
<input type="file" name="file[]" value="Upload"> 
<input type="submit" value="Submit" name="submit"> 
</form> 
if (isset($_POST['submit'])) { 
    $total = count($_FILES['file']['name']); 

    for ($i=0; $i <$total; $i++) { 
     $tmpfile= $_FILES['file']['tmp_name'][$i]; 

     if ($tmpfile != ""){ 
      $newFilePath = "image/" . $_FILES['file']['name'][$i]; 
      if(move_uploaded_file($tmpfile, $newFilePath)) { 
       echo "Upload successfully"; 
      } 
     } 
    } 
} 

ここに私のデータベースの詳細があります。

$conn=mysqli_connect("localhost", "root", '', 'multiple'); 
$query = "insert into image_upload(image_name) values('$newFilePath')"; 
$result = mysqli_query($conn, $query); 
mysqli_close($conn); 

ここでは、すべてのイメージ名をデータベースに送信し、すべてのイメージを名前で取得します。 この問題を解決する方法を教えてもらえますか?

+0

http://php.net/manual/en/features.file-upload.multiple.php – Fky

答えて

0
if (isset($_POST['submit'])) { 
    $conn=mysqli_connect("localhost", "root", '', 'multiple'); 
    $total = count($_FILES['file']['name']); 
    $imageArr=array(); 
    for ($i=0; $i <$total; $i++) { 
     $tmpfile= $_FILES['file']['tmp_name'][$i]; 

     if ($tmpfile != ""){ 
      $newFilePath = "image/" . $_FILES['file']['name'][$i]; 
      if(move_uploaded_file($tmpfile, $newFilePath)) { 
       $query = "insert into image_upload(image_name) values ('$newFilePath')"; 
       $result = mysqli_query($conn, $query); 
       $imageArr[$i]=$_FILES['file']['name'][$i]; 
       if($i=$total) { 
        echo "Upload successfully"; 
       } 

      } 
     } 
    } 
    print_r($imageArr); 
} 

希望すると、これが役立ちます。

関連する問題