php - 在 PHP 中查找 MySQL BLOB 对象的类型

标签 php mysql blob phpmailer

我正在使用 PHP 将文件存储在 MySQL BLOB 字段中。后来我尝试将该 BLOB 数据作为邮件附件发送。

我的问题是:如何在 PHP 中获取 BLOB 对象的类型?该 BLOB 对象可以是 PDF 或 Word 文件。在不知道文件类型的情况下,我们无法发送邮件。

请给我建议解决方案,谢谢。

最佳答案

BLOB对象数据的原始文件类型并不存储在MySQL中,因此无法立即知道文件是什么文件类型。

为了获取文件类型,您可以执行某些操作:

  • 在MySQL中,创建一个包含文件类型的字段,存储文件数据时,也存储文件类型。
  • 检查文件签名。大多数文件在格式相同时,其前字节都是相同的。对于 PDF 文件,签名为 %PDF,对于 Word 文件,签名由以下字节组成(以十六进制显示):50 4B 03 04 14 00 06 00。我找到了a table您可以在其中找到许多文件签名。请注意,检查签名并不适用于所有文件格式。
  • 为了让事情变得更简单,您可以使用FileInfo PHP 中的函数。

关于php - 在 PHP 中查找 MySQL BLOB 对象的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13206880/

相关文章:

php - 优化 AJAX 网站以使用最少的资源

mysql - 如何使用 MySQL 5.1 更改 Rails 2.0.2 中的默认类型日期格式

MySQL奇怪的插入错误

php - 如何将 MySQL BLOB 转换为 PHP 短裤数组?

javascript - 从浏览器使用 JavaScript 将二进制数据保存为文件

php - CentOS Linux 控制台命令与 PHP exec(command)

php - 使用 AFNetworking 从 ios 中的照片库上传图像?

php - 它没有在答案数据库表中插入questionid

php - 如何检查变量是否在PHP中通过引用传递

java - Google App Engine - Blobstore 请求用于生产而不是开发