在php中从单个表单上载多个图像和文本字段

在php中从单个表单上载多个图像和文本字段,php,mysql,Php,Mysql,我在一页上有一张表格。它有6个文本字段和6个上载文件字段。我需要将文本和文件路径写入数据库。我在网上看到过很多例子,但大多数都是上传单个文件或从同一上传字段上传多个文件 我是php新手,所以任何帮助都会非常有用 非常感谢 我有这个上传多个图像的代码,但无法理解如何将相应的输入字段与这些图像一起发布 $valid_formats = array("jpg", "png", "gif", "zip", "bmp"); $max_file_size = 1024*100; //100 kb $path

我在一页上有一张表格。它有6个文本字段和6个上载文件字段。我需要将文本和文件路径写入数据库。我在网上看到过很多例子,但大多数都是上传单个文件或从同一上传字段上传多个文件

我是php新手,所以任何帮助都会非常有用

非常感谢

我有这个上传多个图像的代码,但无法理解如何将相应的输入字段与这些图像一起发布

$valid_formats = array("jpg", "png", "gif", "zip", "bmp");
$max_file_size = 1024*100; //100 kb
$path = "uploads/"; // Upload directory
$count = 0;

if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
    // Loop $_FILES to exeicute all files
    foreach ($_FILES['files']['name'] as $f => $name) {     
        if ($_FILES['files']['error'][$f] == 4) {
            continue; // Skip file if any error found
        }          
        if ($_FILES['files']['error'][$f] == 0) {              
            if ($_FILES['files']['size'][$f] > $max_file_size) {
                $message[] = "$name is too large!.";
                continue; // Skip large files
            }
            elseif( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) ){
                $message[] = "$name is not a valid format";
                continue; // Skip invalid file formats
            }
            else{ // No error found! Move uploaded files 
                if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name))
                $count++; // Number of successfully uploaded file
            }
        }
    }
}

你可以这样做吗

<form action="">
    <ul>
        <li>
            <label>
                <strong></strong>
                <input type="text" name="name1" />
            </label>
        </li>
        <li>
            <label>
                <strong></strong>
                <input type="file" name="file1" />
            </label>
        </li>
        <li>
            <label>
                <strong></strong>
                <input type="text" name="name2" />
            </label>
        </li>
        <li>
            <label>
                <strong></strong>
                <input type="file" name="file2" />
            </label>
        </li>
        <li>
            <label>
                <strong></strong>
                <input type="text" name="name3" />
            </label>
        </li>
        <li>
            <label>
                <strong></strong>
                <input type="file" name="file3" />
            </label>
        </li>
        <li>
            <label>
                <strong></strong>
                <input type="text" name="name4" />
            </label>
        </li>
        <li>
            <label>
                <strong></strong>
                <input type="file" name="file4" />
            </label>
        </li>
        <li>
            <label>
                <strong></strong>
                <input type="text" name="name5" />
            </label>
        </li>
        <li>
            <label>
                <strong></strong>
                <input type="file" name="file5" />
            </label>
        </li>
        <li>
            <label>
                <strong></strong>
                <input type="file" name="file6" />
            </label>
        </li>
        <li><input type="submit"></li>
    </ul>
</form>

在PHP中,您可以通过以下方式捕获它们:

<?php
    if (count($_FILES) > 0) {

    }
?>

6个字段与一个字段没有太大区别

你需要

  • 为文本和文件上传添加额外字段
  • 使用PHP获取所有提交的数据
  • 使用SQL语句插入数据
注意事项:

  • 表单中的每个字段都有一个名称。使名称合理,使工作容易进行,例如
    name=“text1”
    name=“file1”
    name=“text2”
    name=“file2”
    ,等等
  • 每场比赛都会满场吗?您需要6个字段还是不同的数字?如果你想上传任意数量的文件,那就另当别论了。您需要使用javascript,也许还需要使用ajax,来创建一个一次上传一个快速、信息丰富且用户友好的上传
  • SQL语句,因为您需要运行6个几乎相同的语句,请查看准备好的语句-它们无论如何都更好,但在这里您没有任何借口
更新:现在你的代码已经发布;您需要修改代码,以便它在数据库中插入文件名。这不是一个困难的变化


要处理文本字段,有几种方法。您可以确保它们以
text0
开头编号。然后,通过循环遍历文件,您可以使用
$\u POST['text.$i]
(循环计数器为
$i
)获得相应的文本字段。或者,您可以先建立一个文本值数组,然后一起处理文本值和文件上载。

很抱歉,我的问题不清楚。我需要上载多个图像和文本字段。示例:文本1和图像1文本2和图像2等等…@Sachinbhareao对不起,我的回答错了!一秒钟。@Sachinbhaleao现在检查答案。如果您有php文件的任何示例代码,我们将不胜感激。您有任何您所做的事情吗?这个问题似乎不是关于在帮助中心定义的范围内编程。请自己尝试这些脚本,并告诉我们您在哪里有问题,以及您不了解的内容。如果你想获得代码方面的帮助,这个问题需要更加具体。这个问题主要是关于编程的,它是将一个文件上传脚本扩展到更多的文件。。。这不能用代码来回答,但也不能有很多好问题。