2017-02-22 7 views
1

私はもっと具体的にしようとしましたが、最初の試みはそれではありませんでした。ファイルのアップロードを増やす - 入力フィールド名とファイル情報がforeachで処理されましたforeach

私はPHPで3つの画像をアップロードしたいと思います。私はすべてのファイルデータ(名前、サイズ、tmp_name、タイプ)とフォーム送信後の現在の入力フィールドの名前が必要です。

<input type="file" name="thisisaname"...> 
<input type="file" name="thisisanothername"...> 
<input type="file" name="thethirdname"...> 

私は私のforeachでImageInputnameを必要とするだろう:

foreach($_FILES as $file) 
{ 
$ImageName  = $file['name']; 
$ImageSize  = $file['size']; 
$TempSrc  = $file['tmp_name']; 
$ImageType  = $file['type']; 
$ImageInputName = ??? 
... 
} 

入力された名前を取得する最も簡単な方法は何ですか?

+0

チェックhttp://php.net/manual/en/features.file-upload.multiple.php上の最初のコメントは、11年前に作られた:) – Robert

答えて

0

このコードを使用して、複数のファイルをPHPでアップロードすることができます。

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
</head> 
<body> 
<form action="" method="post" enctype="multipart/form-data"> 
    <p><input type="file" name="file_array[]"></p> 
    <p><input type="file" name="file_array[]"></p> 
    <p><input type="file" name="file_array[]"></p> 
    <input type="submit" value="Upload all files"> 
</form> 
</body> 
</html> 

<?php 
     if(isset($_FILES['file_array'])){ 
      $name_array = $_FILES['file_array']['name']; 
      $tmp_name_array = $_FILES['file_array']['tmp_name']; 
      $type_array = $_FILES['file_array']['type']; 
      $size_array = $_FILES['file_array']['size']; 
      $error_array = $_FILES['file_array']['error']; 

      for($i = 0; $i < count($tmp_name_array); $i++){ 
       if(move_uploaded_file($tmp_name_array[$i], "test_uploads/".$name_array[$i])){ 
        echo $name_array[$i]." upload is complete<br>"; 
       } else { 
        echo "move_uploaded_file function failed for ".$name_array[$i]."<br>"; 
       } 
      } 

     } 
?> 
+0

はあなたがここで何が起こっているのか説明できますか? – Martin

+0

私は私の質問を編集しました。私を助けてくれてありがとう。 –

関連する問題