PHP MySQL 多文件上传


PHP MySQL Multiple File Upload

我想在一行中上传多个图像,但它创建了两行,一行正是我想要的,但另一行是空的。为什么它会创建两行?

<?php
        $dir="img";
        $imgList = array();
        $files_count=count($_FILES['files']['name']);
        for($i=0;$i<$files_count;$i++){
        if(!empty($_FILES['files']['name'][$i]))
            {
            move_uploaded_file($_FILES['files']['tmp_name'][$i],$dir."/".$_FILES['files']['name'][$i]);
            $file_name = $_FILES['files']['name'][$i];
            array_push($imgList,$file_name);
            }                   
        }
        $imgs = implode(",",$imgList);
        mysqli_query($connect,"insert into episodes (Id,images) values ('','$imgs')");
?>

试试这个代码:

<?php
    if(isset($_FILES['files'])) {
        $dir="img";
        $imgList = array();
        $files_count=count($_FILES['files']['name']);
        for($i=0;$i<$files_count;$i++){
        if(!empty($_FILES['files']['name'][$i]))
            {
            move_uploaded_file($_FILES['files']['tmp_name'][$i],$dir."/".$_FILES['files']['name'][$i]);
            $file_name = $_FILES['files']['name'][$i];
            array_push($imgList,$file_name);
            }                   
        }
        $imgs = implode(",",$imgList);
        mysqli_query($connect,"insert into episodes (Id,images) values ('','$imgs')");
 }
?>

您只需要检查文件是否已设置。