php 获取 mime type 类型,fileinfo扩展

背景:

version < php-5.3 没有API能够查看文件的 mime_type, 故需要编译扩展 fileinfo 来扩展PHP的API(finfo_*系列函数)。php-5.3 以后将fileinfo 拉入的官方发行包中,将不存在此问题。

软件准备:

php: php-5.2.14
Fileinfo: Fileinfo-1.0.4.tgz
file: file-5.20.tar.gz

1、file 安装

wget ftp://ftp.astron.com/pub/file/file-5.15.tar.gz
tar zxf file-5.20.tar.gz
cd file-5.20/
./configure --prefix=/usr/local/services/file-5.20
make
make install 

2、Fileinfo扩展编译安装

wget http://pecl.php.net/get/Fileinfo-1.0.4.tgz
tar zxf Fileinfo-1.0.4.tgz
cd Fileinfo-1.0.4/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-fileinfo=/usr/local/services/file-5.20/
make
#拷贝fileinfo.so 到php.ini 中定义的 extension_dir
cp fileinfo.so /usr/local/php/extensions/

#修改php.ini
echo "extension=fileinfo.so" >> /usr/local/php/lib/php.ini

3、验证

php -m | grep fileinfo
fileinfo

备注:
1、安装软件注意查看 ./configure --help 其中会指出库或头文件的依赖
2、扩展移植,查看依赖, 移植需要注意对:libmagic.so.1 的依赖

ldd /usr/local/php/extensions/fileinfo.solinux-vdso.so.1 => (0x00007fff9b7ff000)libmagic.so.1 => /usr/local/lib/libmagic.so.1 (0x00007f8493582000)libc.so.6 => /lib64/libc.so.6 (0x00007f8493342000)libz.so.1 => /lib64/libz.so.1 (0x00007f849322d000)/lib64/ld-linux-x86-64.so.2 (0x00007f84937a4000)
时间: 2024-08-07 00:30:32

php 获取 mime type 类型,fileinfo扩展的相关文章

Java获取文件的类型(扩展名)

File file=new File("E:\\aa.jpg"); String fileName=file.getName(); String fileTyle=fileName.substring(fileName.lastIndexOf("."),fileName.length()); System.out.println(fileTyle); 程序运行效果图:

[Java]根据文件取得Mime Type的各种方法

1.mime-util: 该工具可以通过 检测文件扩展名,或者检测magic header 两种技术方式来实现mime类型的检测. 比较可靠,而且轻量级.只依赖于slf4j一个包  .2010年后就没有更新了. POM <dependency> <groupId>eu.medsea.mimeutil</groupId> <artifactId>mime-util</artifactId> <version>2.1.3</vers

MIME Type介绍 Content-Type 各种定义

多用途互联网邮件扩展(MIME,Multipurpose Internet Mail Extensions)是一个互联网标准,它扩展了电子邮件标准,使其能够支持非ASCII字符.二进制格式附件等多种格式的邮件消息.在万维网中使用的HTTP协议中也使用了MIME的框架,标准被扩展为互联网媒体类型.通常来说,浏览器通过MIME Type区分不同的媒体资源.目前版本:1.0. MIME Type是经由IETF组织协商,以RFC形式作为建议标准发布在网上,通常只有一些在互联网上获得广泛应用的格式才会获得

php获取文件mime类型Fileinfo等方法

前几天写到使用wordpress xmlrpc api远程发布文章,如果本地服务器的文章库里某一篇待发表的wordpress文章包含图片文件时,就会使用到WordPress上传文件的API metaWeblog.newMediaObject,该api需要提供文件的mime 类型.php如 何获取文件(图片)的mime 类型呢?最初远方博客使用php mime_content_type()函数,使用开发用的ubuntu server lamp的默认配置测试后完全支持,返回了正确的文件mime ty

Java如何获取Content-Type的文件类型Mime Type

在Http请求中,有时需要知道Content-Type类型,尤其是上传文件时,更为重要,虽然有些办法可以解决,但都不太准确或者繁琐,索性我发现一个开源的类库能够解决相对完美的解决这个问题,它就是jMimeMagic. jMimeMagic是一个用来检测文件或者数据流的 MIME 类型的 Java 类库. 最新版本是V 0.1.2.需要jar包:commons-logging-1.0.x.jar,log4j-1.2.x.jar 下载地址:点击打开链接 它的用法很简单,如下: File file =

MIME TYPE

什么是 MIME TYPE? MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型.是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开.多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式. 它是一个互联网标准,扩展了电子邮件标准,使其能够支持: 非ASCII字符文本:非文本格式附件(二进制.声音.图像等):由多部分(multiple parts)组成的消息体:包含

什么是 MIME TYPE

首先,我们要了解浏览器是如何处理内容的.在浏览器中显示的内容有 HTML.有 XML.有 GIF.还有 Flash --那么,浏览器是如何区分它们,决定什么内容用什么形式来显示呢?答案是 MIME Type,也就是该资源的媒体类型. 媒体类型通常是通过 HTTP 协议,由 Web 服务器告知浏览器的,更准确地说,是通过 Content-Type 来表示的,例如: Content-Type: text/HTML 表示内容是 text/HTML 类型,也就是超文本文件.为什么是"text/HTML&

什么是 MIME TYPE?

文章来源: http://baike.baidu.com/item/MIME https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types http://www.cnblogs.com/jsean/articles/1610265.html MIME(Multipurpose Internet Mail Extensions) 多用途互联网邮件扩展类型: 是设定某种扩展名的文件用一种应用程序来打开的方式类型

什么是MIME type!

一. 在浏览器中可以显示的内容有 HTML. XML. GIF. Flash --那么,浏览器是如何区分它们,决定这些内容用什么形式来显示呢?答案是 MIME Type,也就是该内容(或资源)的媒体类型. 媒体类型通常是通过 HTTP 协议,由 Web 服务器告知浏览器,通过 Content-Type 来表示 例如:  Content-Type: text/HTML 服务器告诉浏览器,要显示的内容为HTML格式的文件,请浏览器的相关部门注意. 实例:  <meta http-equiv="