将使用 FPDF php 库创建的 PDF 保存在 MySQL blob 字段中

2024-04-18

我需要创建一个 pdf 文件fpdf http://www.fpdf.org库并将其保存在我的 MySQL 数据库的 blob 字段中。 问题是,当我尝试从 blob 字段检索文件并将其发送到浏览器进行下载时,下载的文件已损坏并且无法正确显示。

如果我立即将其发送到浏览器而不将其存储在数据库中,则相同的 pdf 文件会正确显示,因此在插入数据库时​​似乎某些数据会损坏。

我的代码是这样的:

$pdf = new MyPDF(); //class that extends FPDF and create te pdf file
$content = $pdf->Output("", "S"); //return the pdf file content as string
$sql = "insert into mytable(myblobfield) values('".addslashes($content)."')";
mysql_query($sql);

存储pdf,像这样:

$sql = "select myblobfield from mytable where id = '1'";
$result = mysql_query($sql);
$rs = mysql_fetch_assoc($result);
$content = stripslashes($rs['myblobfield']);
header('Content-Type: application/pdf');
header("Content-Length: ".strlen(content));
header('Content-Disposition: attachment; filename=myfile.pdf');
print $content;

将其发送到浏览器进行下载。 我究竟做错了什么?

如果我将代码更改为:

$pdf = new MyPDF(); 
$pdf->Output(); //send the pdf to the browser

该文件已正确显示,因此我认为该文件已正确生成,问题出在数据库中的存储中。

提前致谢。


实际上出于安全原因:

  1. 不使用addslashes()但使用mysql_real_escape_string() instead

在这种特定情况下(因为它是二进制数据):

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

将使用 FPDF php 库创建的 PDF 保存在 MySQL blob 字段中 的相关文章

  • 什么是 .tpl 文件? PHP、网页设计

    有人希望我重新设计一个用 PHP VideoCMS 运行的网站 但是当我要求他向我发送源代码时 他给了我 tpl 文件而不是 php 其中有一些代码 include file header tpl p article br table wi
  • php 中的 PDOException“找不到驱动程序”

    我已经在 Linux 系统上安装了 Lampp 并且正在学习 symfony2 同时尝试使用 symfony2 命令创建架构 php app console doctrine schema create 我收到以下错误消息 PDOExcep
  • jQuery 创建多维数组

    我花了很长时间试图弄清楚如何在 jQuery 中创建多维数组 我在循环之外实例化数组 在循环内部我想添加数组元素 i 0 loop start
  • 如何使用 Python 将表格从 CSV 写入 PDF [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个CSV文件包含下表 users passwords company Admin test psw test cmp test
  • 检查一个类是否是 Laravel 5 中的 Model

    我在 Laravel 5 2 中有这段代码 用于检查给定的数据库表名称 what 是否有自己的 Model public function manage what model Str studly Str singular what if
  • 为什么 SwiftMailer 发送两封电子邮件?

    我通过 PHP 的 SwiftMailer 库发送电子邮件 我有这个 PHP 代码 用于从 1 个发件人向 1 个电子邮件收件人发送 1 封电子邮件 这是代码 email some email recipient sendEmail sen
  • 如何在我的网站中创建全局搜索[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在我的网站中创建全局搜索 该网站是内部网站 无法在网上使用 我无法使用 Google 搜索来实现此目的 我的信息全部存储在不同的
  • 即使 return as float 设置为 true,PHP 函数 microtime 也可以返回整数吗?

    前几天 我网站的一位用户报告了一个错误 所以我查看了日志并找到了它 错误是 Undefined offset 1 导致此错误的相关代码是 parts explode microtime true nonce base convert par
  • 从 PHP 和 Timber/Twig 中的高级自定义字段中对转发器字段进行排序

    我正在尝试使用 Twig 1 34 的 WordPress Timber 插件实现对 WordPress 插件高级自定义字段 ACF 的转发器字段的输出进行排序 下面从 ACF 排序的基本 PHP 示例来自https www advance
  • 比较 PHP 和 NodeJS 之间的 BCrypt 哈希值

    对于我正在开发的应用程序 nodejs 需要验证 PHP 创建的哈希值 反之亦然 问题是 PHP 中生成的哈希值 通过 Laravel 的Hash类 它只使用 PHP 的password hash函数 在 Node js 中测试时返回 fa
  • PHP imap_search:Microsoft Exchange 邮件服务器上的 UTF-8/非 ASCII 字符

    我想从以下位置获取电子邮件outlook office365 com使用 IMAP 和 PHP 由于大多数电子邮件包含非 ASCII 字符 例如 I use UTF 8 in my imap search 功能 imap search mb
  • 使用 jQuery 显示 POST 数据?

    我正在使用闪光灯网络摄像头拍照 它工作得很好 并通过 POST 返回一个 URL 我正在用 PHP 进行编码 并希望在收到该 POST 数据后显示该数据 问题是我不重新加载页面 我环顾四周 不确定是否动态加载这个数据数组 我应该去哪里寻找
  • 用 Java 创建 PDF 的缩略图

    我正在寻找一个 Java 库 它可以获取 PDF 并从第一页创建缩略 图 PNG 我已经看过 JPedal 但其疯狂的许可费完全令人望而却步 我目前正在使用 iText 来操作 PDF 文件 但我相信它不会生成缩略图 我可以在命令行上使用
  • Windows API 代码包 - ShellFile 不生成 PDF 位图

    使用之前堆栈溢出问题中的代码 System Drawing Bitmap image ShellFile f ShellFile FromFilePath fileLocation image f Thumbnail ExtraLargeB
  • 资源 ID #4 PHP MYSQL

    result mysql query SELECT indvsum sum1 indvsum sum2 FROM SELECT SUM Cash AS sum1 SUM Bank AS sum2 FROM players indvsum e
  • 无法使用php连接到mongodb数据库用户

    我有一个正在运行的 mongodauth true在我的服务器上 如果我登录到我的管理员用户 从管理数据库 则获取数据没有问题 但如果我将第一行替换为 connection new Mongo mongodb mydbadmin email
  • 如何调试没有错误消息的错误?

    如何调试没有错误消息的错误 当加载 PHP 页面时 我在 Firefox 中收到此错误 The connection to the server was reset while the page was loading 除了看起来是 Apa
  • 不使用函数检测字符串结尾

    如何找出 PHP 字符串的结尾 我有一项任务 无需任何函数即可识别字符串长度 我知道 PHP 中的所有字符串都以空字节结尾 0 但我不知道最后一个符号之后的字符串元素 例如 这将不起作用 while a length 如何在不使用任何函数的
  • 我可以使用什么 C++ 库在 Windows 上将 PDF 转换为图像?

    我正在开展一个需要分析图像的项目 这些图像的主要来源是网络摄像头 但最近我们被要求添加对上传文件和扫描仪的支持 这在大多数情况下都很好 只是他们希望我们能够使用 PDF 格式的文档 我需要一个原始像素位图进行处理 在 Mac 上 我可以使用
  • 通过页面打开 mysql 连接是完全鲁莽的吗?

    当查询数据库时 是否会感到极度偏执 每次必须完成新查询时 我都会打开和关闭 mysql 连接 我担心 尤其是启用 ajax 的页面 这会导致性能大幅下降 我应该继续使用此方法 还是至少在每个页面 而不是每个查询 中打开和关闭连接一次 顺便说

随机推荐

  • 如何在Android中的seekbar下方显示分隔符值?

    我添加了一个seekbar我的一项活动 它的最大值是 5 现在 我想在搜索栏下方显示分隔符值 增量为 1 如 0 1 2 3 4 和 5 我怎样才能做到这一点 有没有什么系统方法可以实现这一目标 但我无法亲自动手 欢迎任何意见 注意 我想以
  • PHP Ajax上传进度条

  • 什么是消息边界?

    什么是 消息边界 在以下情况下 TCP 和 UDP 之间的区别之一是 UDP 保留消息 边界 我理解之间的区别TCP and UDP 但我不确定的定义 消息边界 由于 UDP 在每个单独的数据包中包含目的地和端口信息 因此是否可以为消息提供
  • 使用 terraform 将公共 GKE 更改为私有 GKE 集群

    如何将现有的GKE集群更改为GKE私有集群 我是否能够根据防火墙规则从互联网连接到 Kubectl API 还是应该拥有堡垒主机 我不想实施Cloud Nat or nat gateway 我有一个鱿鱼代理虚拟机 可以处理 Pod 的互联网
  • 如何使用 javascript/jquery 设置 asp 面板元素可见/隐藏

    我有一个asp Panel我的页面上的元素 我可以在后面的代码中设置其可见性 但我还需要通过 javascipt 隐藏它 My panel定义如下
  • 使用 docker-client api 将镜像推送到 docker 注册表

    在探索 docker client api java 时 设置与虚拟机上运行的 docker 守护进程的连接到底需要哪些证书 我在网上找到的代码 Create a client based on DOCKER HOST and DOCKER
  • Hibernate 单向一对多关联 - 为什么连接表更好?

    在本文档中 向下滚动到单向部分 http docs jboss org hibernate stable annotations reference en html single entity mapping association col
  • 自动替换在 emacs 中输入的某些文本字符串

    有一个小细节一直困扰着我一段时间 即我经常打字 inclued代替 include 如果不是很明显的话 我编写了大量 C 和 C 程序 这个拼写错误破坏了无数的构建并消耗了本来可以用来喝咖啡或冲浪的时间 当然 emacs 可以提供帮助并在我
  • 当 ExceptionMapper 创建响应时,未遍历 RestEasy 后处理拦截器链

    我正在使用 RestEasy 构建我的 Restful Web 服务 我已经实现了 ExceptionMappers 来准备特定的异常响应 我还实现了 MessageBodyWriterInterceptors 和几个 PostProces
  • EasyMock的使用方法

    期望似乎对我不起作用 package com jjs caf library client drafting import static org junit Assert import org easymock EasyMock impor
  • 用于从段落中删除所有属性的正则表达式

    我知道正则表达式通常不应该用于解析 html 内容 在我的特殊情况下 我需要它们 原因是 我使用 rte 编辑器 并且在粘贴到编辑器中时需要对段落属性进行一些替换 我有类似的东西 p text blah blah p 我需要删除所有属性 以
  • 数组中的clear方法

    我正在尝试创建一个清除方法来清除我拥有的数组 我已经看到使用清除方法是我所需要的 但我似乎无法使用它 list clear 我认为我必须做的 public void clear return doctors clear 顺便说一下 医生是一
  • 参数和属性之间的区别[重复]

    这个问题在这里已经有答案了 可能的重复 getAttribute 和 getParameter 之间的区别 https stackoverflow com questions 5243754 difference between getat
  • 当我的 MySQL 表更新时,如何收到电子邮件?

    您好 我想知道 MySQL 中是否有一种方法可以在 MySQL 表中添加一行时自动向自己发送电子邮件 实现这一目标的最佳方法是使用触发器和 cron 创建一个 通知队列 表 并在将行插入所需表时使用触发器填充该表 eg CREATE TAB
  • 如何在 R 中创建类似箱线图的分类散点图?

    有谁知道如何创建散点图R创建像这样的情节these http graphpad com support faq graph tip how can i make a barcolumn graph that also shows the i
  • 使用 zip4j 重命名 zip 中的文件

    我在用着zip4j http www lingala net zip4j download php1 3 1 在我的应用程序中压缩文件 现在我尝试重命名 zip 内的文件 而不必重命名文件本身 似乎有一种方法可以做到这一点 但它不起作用 我
  • 将当前日期设置为在 Bootstrap 日期选择器中选择

    我在用引导日期选择器 https github com eternicode bootstrap datepicker在我的代码中 如何在 JavaScript 中选择当前日期并将其显示为已选择 经过研究 这是我正在使用的代码 但当天没有显
  • 本地 JS 文件的 Typescript 声明文件

    当我们正在转换为 Typescript 的过程中 我正在尝试为工作中的 Javascript 文件添加类型 但是 我无法识别声明文件 这是我的文件结构 js Foo js typings Foo 索引 d ts index ts 包 jso
  • Symfony 4:JWT 和 Behat 的测试数据库

    我将 API Platform 2 1 与 Symfony 4 结合使用 并使用 LexikJWTAuthenticationBundle 进行身份验证 并使用 Behat 进行测试 我无法正确设置 这是到目前为止我的配置 Feature
  • 将使用 FPDF php 库创建的 PDF 保存在 MySQL blob 字段中

    我需要创建一个 pdf 文件fpdf http www fpdf org库并将其保存在我的 MySQL 数据库的 blob 字段中 问题是 当我尝试从 blob 字段检索文件并将其发送到浏览器进行下载时 下载的文件已损坏并且无法正确显示 如