【问题标题】:How to fix "Failed identify data 0:no magic files loaded" error for MIME type in PHP?如何修复 PHP 中 MIME 类型的“识别数据失败 0:未加载魔法文件”错误?
【发布时间】:2018-12-21 22:06:15
【问题描述】:

这两个选项我都试过了:

  1. mime_content_type 函数

    echo mime_content_type($img_path);
    
  2. 信息功能

    $finfo = finfo_open(FILEINFO_MIME_TYPE);
    echo finfo_file($finfo, $img_path);
    finfo_close($finfo);
    

但我在这两种情况下都遇到错误

“警告:finfo_file(): 识别数据失败 0: 没有加载任何魔法文件”

我不明白这是什么问题?

【问题讨论】:

    标签: php


    【解决方案1】:

    对于将来想知道的人来说,原始发布者可能将外部 URL 设置为路径 - “mime_content_type”和“finfo”函数都只能在本地路径上运行,而不能在外部运行网址。

    例子:

    // Local file path
    echo mime_content_type("image.gif"); 
    

    将返回:image/gif

    // External file path
    echo mime_content_type("http://localhost/image.gif");
    

    将返回“警告:mime_content_type(): 识别数据失败 0: 没有加载魔法文件”

    可以在 PHP.net 上的手册中找到后备版本和有关这些函数使用的更多信息: 哑剧内容类型: http://php.net/manual/en/function.mime-content-type.php

    finfo 函数:http://php.net/manual/en/book.fileinfo.php

    【讨论】:

    • 是的,它适用于 本地路径 而不是外部 URL
    【解决方案2】:

    看起来 $img_path 不包含任何文件或错误的文件路径。

    【讨论】:

    • 是的,路径有问题。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 2022-12-15
    相关资源
    最近更新 更多