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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Mongodb语法总结

    Mongodb语法总结

  • 学习BoundsChecker

    对C++程序不熟悉,但是因为工作需要,要对一些程序进行测试分析,找出是否有内存泄露情况。在网上找到了大家比较推崇的BoundsChecker,安装后开始看软件自带的手册,为了让更多的同事一起学习,要将全英文的手册翻译成中文,在这个学习过程中,也把成果不断贴出来大家分享吧!今天先贴手册的目录                                                Boun

  • Elasticsearch-JSON串查询总结

    Elasticsearch-JSON串查询总结对Elasticsearch的JSON方式查询总结

  • 使用SurfaceView和MediaPlayer实现视频做为背景

    使用SurfaceView和MediaPlayer实现视频做为背景

  • yum 安装vsftp_yum安装vsftp「建议收藏」

    yum 安装vsftp_yum安装vsftp「建议收藏」1、安装vsftp,本文采用yum安装:#yuminstallvsftpd2、安装后运行:#servicevsftpdrestartShuttingdownvsftpd:[OK]Startingvsftpdforvsftpd:[OK]3、新增加系统用户ftptest:#useradd-d/var/www-s/sbin/nologinftptest//增加新用…

  • Java解析XML文件的方式

    Java解析XML文件的方式在项目里,我们往往会把一些配置信息放到xml文件里,或者各部门间会通过xml文件来交换业务数据,所以有时候我们会遇到“解析xml文件”的需求。一般来讲,有基于DOM树和SAX的两种解析xml文件的方式,在这部分里,将分别给大家演示通过这两种方式解析xml文件的一般步骤。1XML的文件格式XML是可扩展标记语言(ExtensibleMarkupLanguage)的缩写,…

发表回复

您的电子邮箱地址不会被公开。

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