Php 生成多输入类型文件并上传并存储到数据库

Php 生成多输入类型文件并上传并存储到数据库,php,html,image-uploading,Php,Html,Image Uploading,你好我正在尝试从我选择生成的图像编号上传图像,并将图像名称保存到数据库中。例如,我选择生成3个输入类型“文件”,然后3个输入将自动生成,这样我就可以将其上传到文件夹并将其名称保存到数据库中。我对其他类型的输入(如“文本”)进行了修改。但仍然停留在上传图像的部分。 表单如下所示(如果我选择生成3次): 以下是我的表单代码示例: 插入所有记录 这里是后端部分: <?php include_once 'db.php'; if(isset($_POST['save_mul'])) {

你好我正在尝试从我选择生成的图像编号上传图像,并将图像名称保存到数据库中。例如,我选择生成3个输入类型“文件”,然后3个输入将自动生成,这样我就可以将其上传到文件夹并将其名称保存到数据库中。我对其他类型的输入(如“文本”)进行了修改。但仍然停留在上传图像的部分。 表单如下所示(如果我选择生成3次): 以下是我的表单代码示例:


插入所有记录
这里是后端部分:

<?php
include_once 'db.php';
if(isset($_POST['save_mul']))
{       
$allow = array("jpg", "jpeg", "gif", "png");
$todir = '../../userhome/cartu/carti/images/';
if ( !!$_FILES['file']['tmp_name'] ) // is the file uploaded yet?
{
$info = explode('.', strtolower( $_FILES['file']['name']) ); // whats the 
extension of the file
if ( in_array( end($info), $allow) ) // is this file allowed
{

$newfilename = round(microtime(true)) . '.' . end($info);       
    if ( move_uploaded_file( $_FILES['file']['tmp_name'], $todir 
.$newfilename ) )
    {
        $total = $_POST['total'];
        $n_img = $newfilename;      
for($i=1; $i<=$total; $i++)
{
    $fn6 = $_POST["vendorid"];
    $fn = $_POST["item_name$i"];
    $fn1 = $_POST["item_desc$i"];                               
    $sql="INSERT INTO items(vendorid,item_name,item_desc,item_image) 
VALUES('".$fn6."','".$fn."','".$fn1."','".$n_img."')";
    $sql = $db->query($sql);        
}   
if($sql)
{
    ?>
    <script>
    alert('<?php echo $total." records was inserted !!!"; ?>');
    window.location.href='additem.php';
    </script>
    <?php
}
else
{
    ?>
    <script>
    alert('error while inserting , TRY AGAIN');
    </script>
    <?php
}
    }
}
else
{
   echo "Invalid file"; // error this file ext is not allowed
}
}               
}
?>

警报(“插入时出错,请重试”);
我还是一个网络开发新手,不知道我是否问了一个愚蠢的问题,但这个问题我已经解决了很长时间了。a搜索了许多论坛社区,主要解决了在输入中上传多张图片的问题。 如有任何资料可供我参考,不胜感激。非常感谢。
每个输入文件名必须有不同的名称

<input type='file' name="file<?php echo $i; ?>" id="file<?php echo $i; ?>"  value=''>

这对我来说非常有效,我刚刚添加了

警报(“插入时出错,请重试”);
<input type='file' name="file<?php echo $i; ?>" id="file<?php echo $i; ?>"  value=''>
<?php
include_once 'db.php';
if(isset($_POST['save_mul']))
{       
$allow = array("jpg", "jpeg", "gif", "png");
$todir = '../../userhome/cartu/carti/images/';
$total = $_POST['total'];
for($i=1; $i<=$total; $i++) 
{
$imgupload = $_FILES["file$i"];     

if ( !!$imgupload['tmp_name'] ) // is the file uploaded yet?
{
$info = explode('.', strtolower( $imgupload['name']) ); // whats the 
extension of the file
if ( in_array( end($info), $allow) ) // is this file allowed
{
    if ( move_uploaded_file( $imgupload['tmp_name'], $todir 
.$imgupload["name"] ) )
    {
    $fn6 = $_POST["vendorid"];
    $fn = $_POST["item_name$i"];
    $fn1 = $_POST["item_desc$i"];
    $n_img = $imgupload["name"];    


        $sql="INSERT INTO 
shopping_items(vendorid,item_name,item_desc,item_image) 

VALUES('".$fn6."','".$fn."','".$fn1."','".$n_img."')";
    $sql = $db->query($sql);
if($sql)
{
    ?>
    <script>
    alert('<?php echo $total." records was inserted !!!"; ?>');
    window.location.href='additem.php';
    </script>
    <?php
}
else
{
    ?>
    <script>
    alert('error while inserting , TRY AGAIN');
    </script>
    <?php
}
}
}
else
{
   echo "Invalid file"; // error this file ext is not allowed
}
}
}               
}
?>