繁体   English   中英

来自PHP的错误的MIME类型

[英]Incorrect mime-type from PHP

上载在Microsoft Power Point中创建的Power Point 2000文档(.ppt)时,返回的是mime类型的application / vnd.ms-office。 我希望application / vnd.ms-powerpoint从以下位置返回:

    <?php
    $finfo = new finfo(FILEINFO_MIME);
    $mime_type = $finfo->file($filepath);

    // strip off the mime encoding information
    $mime_type = substr($mime_type, 0, strpos($mime_type, ';'));

任何想法为什么可能会这样?

我正在运行以下内容:

  • 的Ubuntu
  • PHP 5.2
  • 阿帕奇2

finfo并非100%可靠,尤其是涉及Microsoft Office文档时。 我认为您的解决方案不容易解决。 您可以尝试,如果它返回application/vnd.ms-office ,则另外检查文件的扩展名是否为.ppt ,如果是,则将mime类型设置为application/vnd.ms-powerpoint 当然,扩展名是没有意义的,但是使用Microsoft的扩展名很有可能是带有.ppt扩展名的文件的简报,而不是其他任何文件。

确保Apache MIME类型文件针对该文件扩展名具有正确的MIME类型。 您将要查看/conf/mime.types并添加这些行(如果它们不存在)。

application/vnd.powerpoint ppt
application/vnd.powerpoint pptx

进行这些更改后,您将需要重新启动Apache。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM