如何在 PHP 中获取文件的内容类型?

新手上路,请多包涵

我正在使用 PHP 发送带有附件的电子邮件。附件可以是多种不同文件类型(pdf、txt、doc、swf 等)中的任何一种。

首先,脚本使用“file_get_contents”获取文件。

稍后,脚本在标题中回显:

 Content-Type: <?php echo $the_content_type; ?>; name="<?php echo $the_file_name; ?>"

如何为 $the_content_type 设置正确的值?

原文由 edt 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 403
1 个回答
  • 从字符串$mediaType = (new \finfo(FILEINFO_MIME))->buffer($string)
  • 从文件名$mediaType = (new \finfo(FILEINFO_MIME))->file($filename)

PHP 需要 ext-fileinfo 模块(通常是预装的)。

FILEINFO_MIME - 返回 RFC 2045 定义的 mime 类型和 mime 编码。

如果您使用 composer ,请不要忘记。将 ext-fileinfo 条目添加到 composer.json

文档: https ://www.php.net/manual/en/ref.fileinfo.php

原文由 Maxim Mandrik 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题