-2

一度に複数の画像ファイルを選択して、1,2,3,4 などの形式でアップロードしたい:

<form action="upload_file.php" method="post" enctype="multipart/form-data">
    <input type="file" name="imgs[]" id="imgs" multiple/> 
    <input type="submit" name="submit" value="Submit" />
</form>

PHP コード:

<?php

if (file_exists("upload/" . $_FILES["imgs"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";

      }
    else
      {

//I think loop goes here 
===================
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
===================

      }
?>

================================================== ================

これは動作します...

<form action="upload_file.php" method="post" enctype="multipart/form-data">
    <input type="file" name="uploads[]" multiple>
    <input type="submit" name="submit" value="Submit" />
</form>

PHP

<?php
$count=1;
foreach ($_FILES['uploads']['tmp_name'] as $file) {
  echo '<li>' . $file . '</li>';

  copy($file, "uploads/" . $count.".jpg");
      echo "Stored in: " . "uploads/" . $count.".jpg";
    $count++;
}
?>

これは動作します....

4

3 に答える 3

3

PHP コードを次のコードに置き換えます。

<?php
for($i=0;$i<count($_FILES["imgs"]["name"]);$i++) 
{
if (file_exists("upload/" . $_FILES["imgs"]["name"][$i]))
      {
      echo $_FILES["imgs"]["name"][$i] . " already exists. ";
      }
    else
      {

//I think loop goes here 
===================
      move_uploaded_file($_FILES["imgs"]["tmp_name"][$i],
      "upload/" . $_FILES["imgs"]["name"][$i]);
      echo "Stored in: " . "upload/" . $_FILES["imgs"]["name"][$i];
===================

      }
}
?>
于 2012-06-06T15:49:19.353 に答える
1

$_FILES複数のアップロードがある場合、PHP は奇妙な (しかし一貫性のある) 方法で配列を構築します。3 つのファイル入力でこのフォームを作成してみてください。

<form action="upload_file.php" method="post" enctype="multipart/form-data">
    <input type="file" name="imgs[]" id="imgs" multiple /> 
    <input type="submit" name="submit" value="Submit" />
</form>

次に、フォームを受け取る PHP コードに、以下のみを配置します。

<?php print_r($_FILES); ?>

$_FILESこれで、配列構造が見えます。この時点で、すべてが明確になり、アップロードされたすべての画像を保存するためにループする方法がわかります。幸運を ;)

于 2012-06-06T15:43:40.487 に答える