-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 以一种奇怪(但一致)的方式构建数组。尝试使用三个文件输入创建此表单:

<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 回答
0

我已经测试了这段代码,它可以工作,一旦我解决了我就忘了回答它。

<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++;
 }
?>
于 2017-05-10T21:44:59.963 回答