`
lhx1026
  • 浏览: 310113 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

php5.3.0以下使用fileinfo获得文件的mime类型

    博客分类:
  • php
阅读更多

    php5.3.0以下要获得文件的mime类型,一般的方法是使用mime_content_type()方法,不过这个方法已经过时,所以最好使用fileinfo来代替。

 

    本人使用的是windows环境,下面介绍的是基于windows环境的。


    首先要下载php_fileinfo.dll文件,可以在http://pecl.php.net/package/Fileinfo 这里下载,不过这里下载到的是源文件,需要自己编译。也可以在这里下载http://dllcentral.com/php_fileinfo.dll/5.2.5.5/ ,不过下到的是5.2.55版本的。如果你使用的php环境是xampp的话,则不用自己下载,xampp里面已经集成了这个东西。


    之后到sourceforge.net下载file程序(file程序是GNUWin32 Project的程序之一),地址是:http://sourceforge.net/projects/gnuwin32/files/file/ ,不过最好选择4.20版本或者之前的的,因为以后的版本中没有magic.mime文件。下载二进制版本,类似于file-x.xx-bin.zip。将下载的file-x.xx-bin.zip解压缩,从share目录中将存放文件类型信息的magic和magic.mime两个文件复制到到一个目录下,假设这个目录为D:\xampp\php\extras。其中magic可以用apache的conf目录下的magic代替;PHP的extras文件夹也有一个 magic.mime文件,但是用它的话fileinfo扩展无法正确工作(如果使用php自带的magic.mime的话,则使用fileinfo获取文件的mime类型的话,每次都返回),不能用来代替GNUWin32的这个magic.mime。


    修改php.ini,加入这样一行:

 

extension=php_fileinfo.dll

 

之后重新启动web服务器。查看phpinfo()是否已经正确启用了Fileinfo。



测试代码如下:

 

<?php

//可以手动自动magic文件的路径,也可以通过配置来获得,以下是通过php.ini的配置
//来获得magic文件的绝对路径
$magicFile = get_cfg_var('magic_mime.magic')';
$testFile = 'd:\test.doc';
$finfo = new finfo(FILEINFO_MIME, $magicFile);
echo $finfo->file($testFile);
?>
输出:application/msword
 

 

注意:必须保证magic.mime与magic两个文件放在同一个文件夹

0
1
分享到:
评论

相关推荐

    PHP 文件类型判断代码

    本文将详细讲解几种PHP中用于识别文件类型的常用方法,包括MIME类型的概念及其在PHP中的应用。 MIME类型(Multipurpose Internet Mail Extensions)是一种标准,用于定义文件的类型和内容。它通常与文件的扩展名...

    利用PHP实现智能文件类型检测的实现代码

    接着,文中提出了一种更为严谨的检测文件类型的方法——使用文件的“魔术字节”进行检测。 魔术字节是一种文件检测机制,即通过读取文件的前几个字节来确定文件的类型。这些字节通常作为文件的签名,位于文件头部或...

    php获取文件类型和文件信息的方法

    在PHP中,获取文件类型和文件信息是一项常见的任务,尤其在处理用户上传的文件或管理服务器上的文件时。以下是一些PHP中用于获取这些信息的方法: 1. **fopen** 和 **fstat**: 使用`fopen`函数以特定模式(如只读...

    codeigniter上传图片不能正确识别图片类型问题解决方法

    在使用`upload`类时,可以通过设置`allowed_types`属性来指定允许上传的文件类型,如: ```php $config['allowed_types'] = 'jpg|jpeg|png'; ``` 然后实例化并调用`do_upload()`方法进行实际的上传操作。 总之,...

    inphinit:using使用Inphinit框架PHP Web应用程序,用于PHP 5.3至PHP 8

    fileinfo(可选,仅在Inphinit\File::mime ) Apache或Nginx或IIS用于生产 有关检查要求,请参阅 入门 有两种安装方法 第一种方法是使用作曲家 下载并安装 在Windows中创建项目: cd c:\wamp\www\ composer create...

Global site tag (gtag.js) - Google Analytics