[英]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, ';'));
任何想法为什么可能会这样?
我正在运行以下内容:
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.