从单个文件输入将多个图像上传到数据库

2024-01-08

我正在尝试一次将多个图像上传到我的数据库。我能够使用单个文件来完成此操作,但无法使用 html5 多个选项来完成它。

这是我的表格:

<form action="includes/saveImage.php" method="POST" enctype="multipart/form-data">
    File:
    <input type="file" multiple="multiple" name="image[]" accept="image/*"> <input type="submit" value="upload">
</form>

这是我的 saveImage.php

$files = array();
$fdata = $_FILES["image"];
if (is_array($fdata["name"]))
        for ($i = 0; $i < count($fdata['name']); ++$i) {
                $files[] = array(
                    'name' => $fdata['name'][$i],
                    'tmp_name' => $fdata['tmp_name'][$i],
                    'image' =>  file_get_contents($fdata['tmp_name'][$i]),
                );
        }
} else {
$files[] = $fdata;
}

foreach ($files as $file) 
{
    if (!$album_mysqli->query("INSERT INTO '1' VALUES ('','{$file['name']}','{$file['image']}',NOW())")) 
        {
            print"error while uploading";
        }
   // print_r( $file );
}

如果我取消注释最后一个 print_r($file);它显示图像文件的二进制数据。 有什么想法为什么它不会上传到我的数据库吗?

我想要写入的数据库使用图像的 BLOB 字段。

解决了我的问题

SQL语句有问题 以这种方式添加图片效果很好......

    foreach ($files as $file) 
    {
        $image = file_get_contents($file['tmp_name']);
        $result = $album_mysqli->prepare("INSERT INTO '1' VALUES ('', ?, ?, CURDATE())");
        $result->bind_param("ss", $file['name'], $image);
        if (!$result->execute()) 
        {
            echo"Problem on file {$file['name']}. <br/>";
        }
        else
        {
            echo("{$file['name']} was added to the database. <br/>");
        }

        $result->close();
    }

您不能像这样将图像上传到数据库。您应该通过 PHP 将图像上传到某个目录,并将其文件名插入到数据库中,以便之后可以获取它们,或者您可以将其 base64 代码上传到数据库中并将其放入图像标签中,如下所示<img src="base64_code_of_the_image" />

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从单个文件输入将多个图像上传到数据库 的相关文章

  • HTML5 Canvas - 在画布上绘图、保存上下文并稍后恢复

    要求 现在 在画布上绘制 然后点击 保存 存储画布状态 离线绘制 但不作为图像 稍后 打开画布并显示之前保存的绘图 然后继续再次绘制 对于绘图 我们通常使用如下代码 canvas document getElementById can ct
  • 对许多站点使用中央数据库服务器:合理吗?

    基本上 我需要在多达几十个站点上同步数据库数据的某些部分 完美的解决方案是创建一个中央服务器来托管该数据 每个页面加载都必须从两个数据库服务器 本地和远程数据库服务器 获取数据 并且写入远程服务器也很常见 虽然数据库服务器在硬件方面可以达到
  • 为什么 Bootstrap 按钮下拉菜单在 iOS 上不起作用?

    看起来甚至连引导演示在这里 http twitter github com bootstrap components html buttonDropdowns不适用于 iOS 您似乎无法在 iPhone 或 iPad 上从中选择项目 有解决
  • 正则表达式多次匹配多行

    我有一个像这样的字符串 Name John Doe Age 23 Primary Language English Description This is a multiline description field that I want
  • 查找定义类的 PHP 文件(在运行时)

    PHP 中是否有任何反射 内省 魔法可以让您找到定义特定类 或函数 的 PHP 文件 换句话说 我有一个 PHP 类的名称 或者一个实例化对象的名称 我想把这个传递给某物 函数 反射类等 将返回定义该类的文件系统路径 path to cla
  • Magento - 将媒体库属性添加到产品平板中

    如何将 media gallery 属性类型添加到产品平面表中 以便可以在产品列表中使用它 可以通过将 用于产品列表 定义为 是 来添加它们 完成此操作后 您将需要重新索引产品平面 编辑 请参阅解决方案以获取最终答案 Source 我可以向
  • 如何正确使用 Bearer 代币?

    我正在制作一个授权系统PHP 我遇到了传递 JWT 令牌的承载方案 我阅读了 RFC 6750 1 我有以下疑问 这如何提高安全性 成功授权和登录后 服务器在其主体中使用 JWT 令牌响应客户端 现在当客户端发出另一个请求时 我不清楚如何实
  • Laravel Factory:手动增量列

    对于以下工厂定义 该列order需要按顺序进行 已经有专栏了id即自动递增 第一行的order应该开始于1以及每个附加行的order应该是下一个数字 1 2 3 etc factory gt define App AliasCommand
  • 如何使用 DbSession 在 Yii2 中创建用户会话管理系统 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 今天 当我想为我的网站创建用户个人资料页面并希望创建系统用户可以管理他在此系统中的活动会话时 需要 查看活动会话 浏览器和平台 查看当
  • 如何获取div背景图像上的锚标记?

    HTML div a href http www facebook com au a div css facey float left width 32px height 32px background url file C Users U
  • PHP Remedy API 调用创建带有附件的条目不起作用(使用 Postman Works!)

    当我尝试创建带有 PDF 附件的条目时 我已经为此工作了好几天 但没有成功 使用补救 REST API 我每次都会收到超时错误 500 或错误请求 这是文档 https docs bmc com docs ars2002 example o
  • Bootstrap 多选限制问题

    我使用创建了一个多选下拉列表引导多选 http davidstutz github io bootstrap multiselect 我需要在选项选择中设置一个限制 这里我将其设置为 5 如果达到限制 我只需禁用其他选择选项 它就可以完美工
  • ag-Grid 中的行格式

    我们需要有条件地将行文本设置为粗体 目前它仅适用于单个单元格 但我们需要在所有列单元格上应用文本粗体 应用格式设置后 isBold 列必须隐藏 删除 此列仅用于格式化 如何应用文本缩进 10px isBold 列包含真实值的第一列的 有可能
  • 检测滚动到 DIV 底部

    我想检测我是否到达了 div 的底部 我的 div 高度为 400px 溢出隐藏 我不知道正常高度但超过400px 我正在使用这段代码 但它不起作用 任何想法 if article txt scrollTop article txt hei
  • Codeigniter 错误:不允许您尝试上传的文件类型

    如果我上传一个csv文件 没有问题localhost一切工作正常 但是当我在实时服务器上上传我的应用程序并上传csv文件然后抛出此错误 The filetype you are attempting to upload is not all
  • 在cakephp中调用函数

    public function data if old status prev lat lat prev long long if status Village Unknown exec query else if status Town
  • php 32位日期解析1901年12月13日之前的日期

    我很高兴使用strtotime http www php net manual en function strtotime php在我的开发机器上解析日期 其中一些日期是 1800 年代 一个极端的例子是 1500 年代 但我的开发机是64
  • 发帖到 FB 粉丝专页时如何解决“不支持的发帖请求”?

    我有一个可以执行 ff 的脚本 发布指向用户时间线 墙的链接 以管理员身份发布指向用户页面的链接 发布到用户的个人资料页面工作正常 然而 发布到粉丝页面的行为很奇怪 我我能够发帖但我回来了 不支持的发布请求 错误 我已经搜索过这个问题并尝试
  • PHP 中的金字塔星号

    请看我的代码 for row var row gt 1 row for j 0 j lt row j echo echo echo nbsp Output 但我需要输出如下 您可能想查看一些字符串函数
  • ImagickException 并显示消息 Postscript delegate 在 MAMP 3.0.5 上失败

    我正在尝试使用 MAMP 3 0 5 将 PDF 转换为 png 文件 我知道我的 PHP 代码可以在我们的 Linux 服务器上正常运行 我在 Mac OSX 10 8 5 上安装了 MAMP 3 0 5 当我运行脚本将 PDF 转换为

随机推荐