PHP上传具有不同文件名但公共文件夹的多个文件

时间:2012-09-29 14:51:32

标签: php html mysql

我正在尝试一次上传多个文件,但有一个独立表单字段来定义将定义图库名称的列的名称... 我尝试了不同的脚本和方法,但我唯一成功的是这一个,除了我必须在每个脚本中输入图库的名称,有没有办法做到这一点?

这是我的HTML表单

    <form action="php_multiple_upload2.php" method="post" name="form1" enctype="multipart/form-data">
        <input type="text" name="galnom1"><input type="file" name="fileUpload1" ><br>
        <input type="text" name="galnom2"><input type="file" name="fileUpload2"><br>
        <input type="text" name="galnom3"><input type="file" name="fileUpload3"><br>
        <input type="text" name="galnom4"><input type="file" name="fileUpload4"><br>
        <input name="hdnLine" type="hidden" value="4">
        <input name="btnSubmit" type="submit" value="Submit">
    </form>

这是PHP代码

    <?php
    include("../../cnf/cnctr.php");

    for($i=1;$i<=(int)($_POST["hdnLine"]);$i++)
    {
    if($_FILES["fileUpload".$i]["name"] != "")
      {
      if(copy($_FILES["fileUpload".$i]["tmp_name"],"img/".$_FILES["fileUpload".$i]["name"]))
        {
          $strSQL = "INSERT INTO galeria ";
          $strSQL .="(galnom,ttl) VALUES ('".$_POST["galnom".$i]."','".$_FILES["fileUpload".$i]["name"]."')";
          mysqli_query($fsn,$strSQL);
          echo "Copy/Upload ".$_FILES["fileUpload".$i]["name"]." completed.<br>";
        }
      }
    }
    echo "<br><a href='php_multiple_upload6.php'>View file</a>";
    mysqli_close($fsn);
    ?>

这是我设想我的html表单的方式:

    <form action="php_multiple_upload2.php" method="post" name="form1" enctype="multipart/form-data">
      <input type="text" name="gallery_name"><br> <!-- Just one field to name the gallery -->
      <input type="file" name="fileUpload1" ><br>
      <input type="file" name="fileUpload2"><br>
      <input type="file" name="fileUpload3"><br>
      <input type="file" name="fileUpload4"><br>
      <input name="hdnLine" type="hidden" value="4">
      <input name="btnSubmit" type="submit" value="Submit">
    </form>

一如既往地感谢您的帮助:)

最好的问候

1 个答案:

答案 0 :(得分:2)

你可以像你想象的那样使用表格。

只需换行

$strSQL .="(galnom,ttl) VALUES ('".$_POST["galnom".$i]."','".$_FILES["fileUpload".$i]["name"]."')";

这一行:

$strSQL .="(galnom,ttl) VALUES ('".$_POST["gallery_name"]."','".$_FILES["fileUpload".$i]["name"]."')";

作为附注,以防万一:请注意您的SQL代码完全不受SQL注入的保护