`
lhx1026
  • 浏览: 308145 次
  • 性别: 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 5.3.0 x64 64位 PHP X64 64位

    PHP 5.3.0 x64 是一个针对64位操作系统的PHP版本,它专为处理大量数据和高内存利用率的应用程序设计。...然而,由于其已过时,现在推荐使用更现代的PHP版本,以获得更好的性能、安全性和社区支持。

    PHP 文件类型判断代码

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

    php-5.3.0-Win32-VC9-x86.zip

    标题中的"php-5.3.0-Win32-VC9-x86.zip"表明这是一个针对Windows 32位系统的PHP版本,具体是5.3.0版本,且使用了Visual C++ 9(VC9)编译器构建。这通常意味着它与Microsoft的.NET Framework 3.5兼容,因为VC9是该...

    bootstrap-5.3.0.zip

    在压缩包中,"说明.pdf" 文件很可能是Bootstrap 5.3.0的官方文档或用户指南,包含了关于如何使用此框架的详细信息,包括安装步骤、API参考、组件使用示例等。阅读这份文档可以帮助开发者快速理解和上手Bootstrap ...

    php-5.3.0-Win32-VC6-x86.zip

    综上所述,这个压缩包提供了PHP 5.3.0的Windows 32位版本,包括核心库、安全组件、国际化支持和数据库连接能力,以及方便安装和使用的工具。它对于那些需要在Windows环境下进行PHP开发或者部署PHP应用程序的用户来说...

    bootstrap-5.3.0-alpha1.zip

    3. `bootstrap-5.3.0-alpha1-examples.zip`:这个文件可能包含了各种示例和模板,展示了Bootstrap组件的用法,帮助初学者快速上手,并为有经验的开发者提供灵感。 在Web开发中,Bootstrap的响应式设计意味着网站...

    商业源码-编程源码-PHPDisk网盘系统GBK版 v5.3.0.zip

    4. 文件预览:支持常见文件类型的在线预览,如文档、图片、音频和视频等。 5. 分享功能:用户可以生成文件或文件夹的分享链接,通过电子邮件或其他社交媒体分享给他人。 6. 安全机制:可能包含了防止DDoS攻击、SQL...

    openlayers 5.3.0

    【压缩包子文件的文件名称列表】"v5.3.0-dist"通常包含OpenLayers 5.3.0的所有可部署文件,这些文件可能包括: 1. `ol.js` 或 `ol.min.js`: 这是OpenLayers的核心库文件,包含了所有功能。未压缩版(`ol.js`)便于...

    Lua 5.3.0源码——包含VS2012项目文件

    Lua 5.3.0源码,其中带VS2012的解决方案和项目文件。在压缩包中的win_build中包含了VS2012构建用的文件和目录,可以将Lua核心库编译成动态库或静态库,可以生成Lua编译器和命令行解释器。但是,Lua5.3.0的编译器luac...

    Qt5.3.0帮助文件

    本帮助文件集合为开发者在使用Qt5.3.0时提供了详尽的文档支持,尤其适用于自行编译Qt而缺失官方帮助文档的场景。 1. **qtwidgets.qch** - 这个文件包含了Qt Widgets模块的文档。Qt Widgets是Qt库的核心部分,提供了...

    pagehelper-5.3.0-API文档-中文版.zip

    赠送jar包:pagehelper-5.3.0.jar; 赠送原API文档:pagehelper-5.3.0-javadoc.jar; 赠送源代码:pagehelper-5.3.0-sources.jar; 赠送Maven依赖信息文件:pagehelper-5.3.0.pom; 包含翻译后的API文档:pagehelper...

    echarts-5.3.0 最新echarts包

    ECharts 5.3.0 是该库的一个版本,提供了丰富的图表类型、精美的图表设计以及强大的交互功能,是前端开发人员进行数据可视化的得力工具。在这个版本中,我们可能会发现一些性能优化、新特性、bug修复以及对旧版本的...

    APMServ5.2.6_php_5.3.0

    3. **PHP 5.3.0**:PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适合Web开发。PHP 5.3.0是PHP的一个重要版本,引入了命名空间(Namespaces)、晚期静态绑定(Late Static Bindings)、闭包...

    关于elasticsearch5.3.0基础增删改查实例文件

    使用 Java API 添加文档通常涉及以下步骤: 1. 创建 `TransportClient` 实例,用于连接 Elasticsearch 集群。 2. 使用 `prepareIndex()` 方法指定索引、类型以及文档ID。 3. 使用 `setSource()` 方法设置文档内容,...

    QT5.3.0 登陆Demo

    QT5.3.0登陆Demo是一个基于QT5.3.0版本的登录示例项目,主要展示了如何在Qt环境中创建一个基本的用户登录界面。这个Demo涵盖了Qt编程的基础知识,包括UI设计、信号与槽机制、事件处理以及数据验证等核心概念。 首先...

    lua5.3.0开发包

    首先,解压`lua-5.3.0`文件夹,你会找到源代码文件,包括`.c`和`.h`文件。其中,`lua.c`和`lualib.c`包含了Lua解释器的核心功能,`luac.c`用于编译Lua源代码为字节码,而`lua.h`等头文件定义了Lua的API接口。 在VS...

    elasticsearch5.3.0jdbc源码工程

    **Elasticsearch 5.3.0 JDBC 源码工程详解** Elasticsearch 是一个高性能、可扩展的全文搜索引擎,常用于大数据分析和实时搜索。JDBC (Java Database Connectivity) 则是 Java 平台中用于连接数据库的标准应用编程...

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

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

    php5.3.0+php5.3.0-fpm-0.5.12+fontconfig-2.4.2+freetype-2.4.2+gd-2.0.35

    为了方便以后重新搭建php环境,存一份需要的包,如果有...php-5.3.0.tar.bz2 php-5.3.0-fpm-0.5.12.diff.gz fontconfig-2.4.2.tar.gz freetype-2.4.2.tar.gz gd-2.0.35.tar.gz jpegsrc.v9.tar.gz libpng-1.5.13.tar.gz

    QT5.3.0 简单多线程开发

    在QT5.3.0中使用多线程,首先你需要继承`QThread`并重写`run()`方法,这是线程的主要执行体。然后创建线程实例,并启动线程。例如: ```cpp class MyThread : public QThread { Q_OBJECT public: void run() ...

Global site tag (gtag.js) - Google Analytics