[PHP] [MySQL]如何在上传表单中为每个选定文件实现标题字段?

用户名

我是php / mysql新手,需要您的帮助!
我有一个上传公式,可以将多个文件上传到数据库,一个一个地选择。
文件上传工作正常,但我想为每个选定文件添加标题字段。我不知道如何在我的代码中实现这一点。
这是我的代码:

$db = mysqli_connect("localhost", "root", "", "xy");
if (isset($_POST['upload_docs'])) {

   for($mi = 0; $mi < count($_FILES['sel_doc']['tmp_name']); $mi++) {

     $doc = $_FILES['sel_doc']['name'][$mi];
     $tmp_doc = $_FILES['sel_doc']['tmp_name'][$mi];
     $target = "doc_uploads/". basename($doc);

     if (move_uploaded_file($tmp_doc, $target)) {
       echo "Upload successfully!";
     }
     else {
       echo "Upload failed!";
     }
     $sql_f = "INSERT INTO docs (doc_file) VALUES ('$doc')";
     mysqli_query($db, $sql_f);
   }
}



<form method="POST" action="upload.php" enctype="multipart/form-data">
   <div>
      <input type="file" name="sel_doc[]">
      <input type="file" name="sel_doc[]">
      <input type="file" name="sel_doc[]">
      <input type="file" name="sel_doc[]">
      <input type="file" name="sel_doc[]">
   </div>

   <div id="upload_button">
    <button type="submit" name="upload_docs">upload</button>
   </div>
</form>

这就是1次上传的样子:

|    id_doc  |  doc_file |  doc_title|upload_id|
++++++++++++++++++++++++++++++++++++++++++++++++
|.....1......|...a.pdf...|....vvv....|....1....|
|.....2......|...b.pdf...|....www....|....1....|
|.....3......|...c.pdf...|....xxx....|....1....|
|.....4......|...d.pdf...|....yyy....|....1....|
|.....5......|...e.pdf...|....zzz....|....1....|

在我的原始代码中,我在2个表中插入了1:n表示法(因为有“ upload_id”)。

雷姆科K.

的HTML

<div>
<?php for ($i=0; $i<5; $i++){ ?>
    <b><?php echo $i ?></b><br>
    File: <input type="file" name="sel_doc[<?php echo $i ?>]"><br>
    Title: <input name="title[<?php echo $i ?>]"><br>
<?php } ?>
</div>

将打印此:

<div>
    <b>0</b><br>
    File: <input type="file" name="sel_doc[0]"><br>
    Title: <input name="title[0]"><br>
    <b>1</b><br>
    File: <input type="file" name="sel_doc[1]"><br>
    Title: <input name="title[1]"><br>
    <b>2</b><br>
    File: <input type="file" name="sel_doc[2]"><br>
    Title: <input name="title[2]"><br>
    <b>3</b><br>
    File: <input type="file" name="sel_doc[3]"><br>
    Title: <input name="title[3]"><br>
    <b>4</b><br>
    File: <input type="file" name="sel_doc[4]"><br>
    Title: <input name="title[4]"><br>
</div>

PHP代码

$db = mysqli_connect("localhost", "root", "", "xy");
if (isset($_POST['upload_docs'])) {

   for($mi = 0; $mi < count($_FILES['sel_doc']['tmp_name']); $mi++) {

     $doc = $_FILES['sel_doc']['name'][$mi];
     $tmp_doc = $_FILES['sel_doc']['tmp_name'][$mi];
     $target = "doc_uploads/". basename($doc);
     $title = (isset($_POST['title'][$mi])?$_POST['title'][$mi]:"");

     if (move_uploaded_file($tmp_doc, $target)) {
       echo "Upload successfully!";
     }
     else {
       echo "Upload failed!";
     }
     $sql_f = "INSERT INTO docs (doc_file, title) VALUES ('$doc', '$title')";
     mysqli_query($db, $sql_f);
   }
}

顺便说一句; 此示例代码对于sql注入并不安全

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用php在xl文件中仅显示标题字段名称

PHP 函数更新整个表中每个任务的所有标题字段

如何验证PHP中的上传文件字段

如何在 PHP 联系表单的每个不同字段中显示错误消息?

如何验证PHP中的多个文件上传字段?

php-ajax:如何在表单中的每个工作中使用两个提交按钮以实现不同的目的

如何在PHP和MySQL中创建基于用户的文件上传存储系统?

如何在PHP中为MySQL插入查询功能指定单一表单?

如何在PHP和MYSQL中为每个已加载的帖子添加动态url

如何在上载文件中执行一个PHP文件

如何在PHP中增加最大文件上传?

如何在Excel文件上传期间解决php中的错误

如何在php中更改上传文件的名称?

如何在上传文件中实现Facebook拖放功能

PHP文件上传+表单验证

使用php文件上传表单

如何在 Azure 上上传 PHP 文件

如何在新的PHP文件中引用表单URL?

如何在多个文件上传公式中动态添加“输入类型=文件”按钮[PHP,MySQL和JS]

如何在php中提交表单时限制文件上传大小

PHP表单文件上传到Mysql和服务器

如何在字段中输入连续数字?php mysql

Symfony - 如何通过 PHP 表单上传处理接收到的文件

如何使用PHP在每个上传文件的末尾添加递增编号

用PHP上传多个文件并在CSS中存储表单

如何在mysql数据库表中将值设置为php中html表单的隐藏输入

如何在SQL中填充标题字段

如何在上传多个文件时为每个文件设置外键?

PHP检查文件名是否正在使用中,然后在上传时添加数字