php - 使用PHP将多张图片上传到MYSQL数据库

标签 php html mysql image post

我目前非常困惑为什么我无法将图像数组插入到我的数据库中。 截至目前,我当前的多个文件上传能够将图像上传到我的默认目录,并且只能将第一个图像存储到我的 SQL Server 数据库中,为什么会这样? foreach 命令不应该能够分割我上传的所有多个文件并将它们分别存储到数据库中吗?请大家帮忙解释一下,谢谢!

HTML 代码

<form method="post" enctype="multipart/form-data"  action="">  
    <input type="file" name="files[]" id="files" multiple />  
    <br /><br />
    <button type="submit">Upload selected files</button>  

PHP 代码

foreach ($_FILES["files"]["error"] as $key => $error) {
        if ($error == UPLOAD_ERR_OK) {
            $name = $_FILES["files"]["name"][$key];
            move_uploaded_file($_FILES["files"]["tmp_name"][$key], "" . $_FILES['files']['name'][$key]);
            $sql = "INSERT INTO `test`(`image`) VALUES ('" . $name . "')";
            $result = mysqli_query($connection, $sql);
            echo "The file " . basename($_FILES['multiple_uploaded_files']['name']) . " has been uploaded";
        } else {
            echo "There was an error uploading the file, please try again!";
        }
    }

干杯, 一名技术新手正在学习。

最佳答案

try with this example code,

    $path = "imageuploads/";
     for($i=0; $i<count($_FILES['file']['name']); $i++){
     $extension = explode('.', basename( $_FILES['file']['name'][$i]));
     $path = $path . md5(uniqid()) . "." . $extension[count($extension)-1]; 

      if(move_uploaded_file($_FILES['file']['tmp_name'][$i], $path )) {
      //insert query 
         echo "uploaded successfully";
          } else{
        echo "Error in Upload";
       }
   }
Above code is not worked, please tell the scenario

关于php - 使用PHP将多张图片上传到MYSQL数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26761804/

相关文章:

php - 流式传输 ASF 文件需要哪些 HTTP header ?

php - 如果为真则插入类

php - C9 - 如何获取查询结果以及如何从查询中获取行数?

jquery - 如何重置 jQuery 设置的元素宽度

php - 如何访问其他用户的数据?

mysql - 存储 pdf 文件的最佳方法是什么?

php - 如何使用迁移插件将 tinyint 添加到 cakephp 3 中的数据库字段?

javascript - 切换汉堡下拉菜单 : How to call ancestor with JQuery?

html - 在其他两个 div 之间居中 div

mysql - 将记录表与映射表按负关系连接起来