【问题标题】:Call to undefined function mime_content_type(), can't change server settings调用未定义的函数 mime_content_type(),无法更改服务器设置
【发布时间】:2011-07-17 16:10:12
【问题描述】:

我在标题中发现了错误(调用未定义函数mime_content_type())。我已经阅读了有关重新编译 PHP 以及使用 finfo_open(FILEINFO_MIME_TYPE); 的信息。后者的问题是我的PHP版本是5.2.15,太旧了,无法支持finfo,所以我切换到mime_content_type()(我认为更干净),但是我的服务器不支持要么!

我的问题是:我可以使用ini_set() 设置一个值,以便我可以使用mime_content_type(),还是有另一种(可能更hacker)方法来获取文件的mime 类型?

这是我的 PHPinfo():http://staging.cliquesoft.org/cs/infos.php

感谢您的帮助。

【问题讨论】:

    标签: php mime-types


    【解决方案1】:

    您可以使用来自http://upgradephp.berlios.de/ 的重新实现。如果缺少,它定义 te mime_content_type 函数。你可以在include("ext/mime.php");找到它

    PEARs 中也有一个版本PHP_Compat

    【讨论】:

    • 非常感谢 - 我正在使用upgrade.php 解决方案。令人恼火的是,当它实际上只是 JPEG 时,它会将文件的 MIME 设置为application/octet-stream...有什么想法吗?
    • 等等...它适用于 PNG (image/png),但不适用于 JPEG。
    • 这取决于 mime-magic 文件。它查找/usr/share/misc/magic.mime/etc/mime-magic 或php.ini 设置mime_magic.magicfile。然后它可能会对魔法数据库的某些变体产生怪癖,以确定最佳匹配。也可能只是您的文件无法访问。
    • 也许还是试试 PHP_Compat。它可能有更聪明的算法。
    • 哦,我刚刚注意到,它使用了一个非常卑鄙而简单的技巧:$mime = exec("file -iL $filename 2>/dev/null"); 也许仅此一项就对你有用?
    猜你喜欢
    • 2018-01-31
    • 2013-01-26
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    相关资源
    最近更新 更多