Php 获取文件mime类型的几种方法

Php 获取文件mime类型的几种方法,第1张

多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

php获取文件mime类型有以下几种方法:

1、mime_content_type()函数判断获取mime类型

mime_content_type返回指定文件的MIME类型,

用法:echomime_content_type('php.gif') .

"\n"echomime_content_type('test.php')输出:image/giftext/plain但是php 5.3.0已经将该函数废弃。如果仍想使用此函数,那么可以对php进行配置启用magic_mime扩展。

2、php Fileinfo 获取文件MIME类型(finfo_open)

PHP官方推荐mime_content_type()的替代函数是Fileinfo函数。PHP

5.3.0+已经默认支持Fileinfo函数(fileinfo

support-enabled),不必进行任何配置即可使用finfo_open()判断获取文件MIME类型。

用法:$finfo = finfo_open(FILEINFO_MIME)

$mimetype = finfo_file($finfo, $filename)

finfo_close($finfo)

3、image_type_to_mime_type()获取图片MIME类型

注意:需要在php.ini中配置打开php_mbstring.dll(Windows需要)和extension=php_exif.dll。

4、php上传文件获取MIME类型

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。这是我在百度百科上摘抄的一段介绍,具体大家可以去百度百科查阅。

好,我们现在就来看看如何使用java获取文件的Content-Type的值,那么按照我的习惯,先来上代码:

[java] view plain copy

import java.io.IOException

import java.nio.file.Files

import java.nio.file.Path

import java.nio.file.Paths

/**

* 测试类

* @author ZY

*

*/

public class MIME_Demo {

public static void main(String[] args) throws Exception {

System.out.println(getContentType("F:/test.png"))

System.out.println(getContentType("F:/2.doc"))

System.out.println(getContentType("F:/2.csv"))

System.out.println(getContentType("F:/LiveUpdate.exe"))

System.out.println(getContentType("F:/1.txt"))

System.out.println(getContentType("F:/demo.jpg"))

}

public static String getContentType(String filename){

String type = null

Path path = Paths.get(filename)

try {

type = Files.probeContentType(path)

} catch (IOException e) {

e.printStackTrace()

}

return type

}

}

这段代码的执行结果为:

[plain] view plain copy

image/png

application/msword

application/vnd.ms-excel

application/x-msdownload

text/plain

image/jpeg

能够很好的获取到文件的Content-type值,但是这里给大家提个醒,由于java.nio.file.*这个包是在jdk1.7中才出现的,所以对于低版本的jdk是不能使用的!再次提醒,需要使用jdk1.7及以上!

MIME类型设置:

IIS->网站->http头 ->MIME映射->文件类型->新建

扩展名 内容类型(MIME)

wml text/vnd.wap.wml

wmlc application/vnd.wap.wmlc

wbmp image/vnd.wap.wbmp

wmlsc application/vnd.wap.wmlscriptc

wmls text/vnd.wap.wmlscript

wsc application/vnd.wap/wmlscriptc

下载类型的WAP服务器

扩展名 内容类型(MIME)

.amr audio/amr

.pmd audio/pmd

.3gp video/3gpp

.cab application/vnd.smartpohone

.gif image/gif

.hme application/vnd.smartphone.thm

.jad text/vnd.sun.j2me.app-descriptor

.jar application/java-archive

.jpg image/jpeg

.mid audio/midi

.mp3 audio/x-mpeg

.mp4 video/mp4

.ogg application/ogg

.pdb application/ebook

.rm video/rm

.rng application/vnd.nokia.ringing-tone

.sdt application/vnd.sie.thm

.sis application/vnd.symbian.install

.thm application/vnd.eri.thm

.tsk application/vnd.ppc.thm

.umd application/umd

.utz application/vnd.uiq.thm

.wav audio/x-wav

.wbmp image/vnd.wap.wbmp

.wml text/vnd.wap.wml

.wmlc application/vnd.wap.wmlc

.wmls text/vnd.wap.wmlscript

.wmlsc application/vnd.wap.wmlscriptc

.wmv video/x-ms-wmv

.wsc application/vnd.wap/wmlscriptc

如果在IIS上想建立手机WAP网站就要设置MIME类型才可以在互联网上访问。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/16391.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-13
下一篇2023-02-13

发表评论

登录后才能评论

评论列表(0条)

    保存