PHP上传多个文件名不同但文件夹相同的文件

标签 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>

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

最诚挚的问候

最佳答案

您可以按照您的设想使用该表单。

换线即可

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

用这一行:

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

作为旁注以防万一:请注意,您的 SQL 代码对于 SQL 注入(inject)完全不安全

关于PHP上传多个文件名不同但文件夹相同的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12653729/

相关文章:

php - Laravel 宅基地 IP 地址不工作

php - Azure 表存储响应时间慢

javascript - 我想要在 BootStrap Carousel 中的悬停元素上实现 1 x 1 滑动和悬停效果

javascript - jQuery/JS 调整 iframe 大小不起作用

mysql - 在 mysql 中使用条件查询查找排名

php - Android与mysql数据库的连接

c# - 如何将 PHP 函数的结果发送到 C# 客户端?

javascript - 通过 js/jquery 重定向 url 函数传递 php 变量

php - MySQL .sql 导入计划

Android 启动画面 WepApp Sencha