【问题标题】:PHP MySQL Multiple File UploadPHP MySQL 多文件上传
【发布时间】:2016-02-14 14:55:39
【问题描述】:

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

<?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')");
?>

【问题讨论】:

  • 以逗号分隔的图像路径是不好的做法。现在的重点是您的 HTML 代码在哪里。 HTML 和 PHP 文件是同一个文件吗?如果是,那么您需要对POST 操作使用 if 条件。
  • 我的 HTML 和 PHP 文件在同一个文件中,当我为 POST 添加 if 条件时,空行消失了 :) 非常感谢

标签: php mysql multiple-file-upload


【解决方案1】:

试试这个代码:

<?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')");
 }
?>

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

【讨论】:

    猜你喜欢
    • 2011-12-27
    • 1970-01-01
    • 2012-01-09
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 2012-05-06
    • 1970-01-01
    相关资源
    最近更新 更多