php 下载文件的头信息 Determine Content Type

php 下载文件的头信息 Determine Content Type

<?php
if(!function_exists('mime_content_type')) {

    function mime_content_type($filename) {

        $mime_types = array(

            'txt' => 'text/plain',
            'htm' => 'text/html',
            'html' => 'text/html',
            'php' => 'text/html',
            'css' => 'text/css',
            'js' => 'application/javascript',
            'json' => 'application/json',
            'xml' => 'application/xml',
            'swf' => 'application/x-shockwave-flash',
            'flv' => 'video/x-flv',

            // images
            'png' => 'image/png',
            'jpe' => 'image/jpeg',
            'jpeg' => 'image/jpeg',
            'jpg' => 'image/jpeg',
            'gif' => 'image/gif',
            'bmp' => 'image/bmp',
            'ico' => 'image/vnd.microsoft.icon',
            'tiff' => 'image/tiff',
            'tif' => 'image/tiff',
            'svg' => 'image/svg+xml',
            'svgz' => 'image/svg+xml',

            // archives
            'zip' => 'application/zip',
            'rar' => 'application/x-rar-compressed',
            'exe' => 'application/x-msdownload',
            'msi' => 'application/x-msdownload',
            'cab' => 'application/vnd.ms-cab-compressed',

            // audio/video
            'mp3' => 'audio/mpeg',
            'qt' => 'video/quicktime',
            'mov' => 'video/quicktime',

            // adobe
            'pdf' => 'application/pdf',
            'psd' => 'image/vnd.adobe.photoshop',
            'ai' => 'application/postscript',
            'eps' => 'application/postscript',
            'ps' => 'application/postscript',

            // ms office
            'doc' => 'application/msword',
            'rtf' => 'application/rtf',
            'xls' => 'application/vnd.ms-excel',
            'ppt' => 'application/vnd.ms-powerpoint',

            // open office
            'odt' => 'application/vnd.oasis.opendocument.text',
            'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
        );

        $ext = strtolower(array_pop(explode('.',$filename)));
        if (array_key_exists($ext, $mime_types)) {
            return $mime_types[$ext];
        }
        elseif (function_exists('finfo_open')) {
            $finfo = finfo_open(FILEINFO_MIME);
            $mimetype = finfo_file($finfo, $filename);
            finfo_close($finfo);
            return $mimetype;
        }
        else {
            return 'application/octet-stream';
        }
    }
}
?>

http://php.net/manual/en/function.mime-content-type.php

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113666.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringMVC 处理器适配器详解[通俗易懂]

    SpringMVC 处理器适配器详解[通俗易懂]0x00:介绍处理器适配器HandlerAdapter:作用是根据映射器找到的处理器Handler信息,按照特定的规则去执行相关的处理器Handler。其配置方式有两种,一种是基于xml的资源配置,也就是非注解的配置方式。另外一种就是基于Annotation注解的配置。其注解在代码中做上特殊标记,这些标记就可以编译、类加载、运行时被读取,然后去执行相应的处理。0x01:…

    2022年6月8日
    64
  • redis 命令参考手册_redis登录命令

    redis 命令参考手册_redis登录命令http://redisdoc.com/index.htmlhttp://doc.redisfans.com

    2025年5月28日
    4
  • 均匀分布的期望和方差公式推导_圆上的均匀分布数学期望

    均匀分布的期望和方差公式推导_圆上的均匀分布数学期望数学正态分布和均匀分布问题。正态分布N(μ,σ^2)期望即μ,方差即σ^2区间[a,b]上均匀分布期望为(a+b)/2,方差为(b-a)^2/12为什么计算均匀分布的方差要除以12?注:均匀分布U(a,b)的方差Var(X)=(b-a)^2/12随机变量:U(a,b)X的概率密度函数:f(x)=1/(b-a)a其它x,f(x)=0;X的平均值:E(X)=∫(b,a)xf(x)dx=∫(b,…

    2022年9月18日
    5
  • 年薪500万大数据工程师:讲解大数据建模方法和经验

    年薪500万大数据工程师:讲解大数据建模方法和经验大数据前言:建模的过程和方法是不断发展和完善的。可以说,不同的数据类型、不同的业务场景和不同的需求将有不同的建模方法。我同意他们的观点。但我想说的是,无论您的数据是什么,在大数据中构建自己的数据模型是很正常的。1。数据准备两。开展探索性数据分析三。初始模型的建立四。模型迭代构造分享大数据学习交流群:722680258零基础中高级视频资料,欢迎加入不定期分享资源数据准备:在大数据计算中没有太多的数据…

    2022年5月25日
    49
  • OJ平台汇总

    OJ平台汇总leetcode:https://leetcode.com/提交错误能够给出错误的数据,比较好调试。浙江大学OnlineJudge(ZOJ):http://acm.zju.edu.cn/国内最早也是最有名气的OJ,打开速度快。北京大学OnlineJudge(POJ):http://acm.pku.edu.cn/JudgeOnline/举行在线比赛比较多,数据比ZOJ上的

    2022年6月16日
    36
  • Git-命令行-删除本地和远程分支

    Git-命令行-删除本地和远程分支

    2021年10月22日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号