Re: PHP to get File Type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Manoj Singh wrote:
Hello All,
Is there any function in PHP to get the file/Mime type of any file?

Any help will be appreciated.
Hi,

There are better and more elegant ways to do this, but I'm not aware of them.

Here is what I use most of the time. You only use the filename as $value for get_mimetype().

   function get_file_extension($file) {

       return array_pop(explode('.',$file));
   }

   function get_mimetype($value='') {

       $ct['htm'] = 'text/html';
       $ct['html'] = 'text/html';
       $ct['txt'] = 'text/plain';
       $ct['asc'] = 'text/plain';
       $ct['bmp'] = 'image/bmp';
       $ct['gif'] = 'image/gif';
       $ct['jpeg'] = 'image/jpeg';
       $ct['jpg'] = 'image/jpeg';
       $ct['jpe'] = 'image/jpeg';
       $ct['png'] = 'image/png';
       $ct['ico'] = 'image/vnd.microsoft.icon';
       $ct['mpeg'] = 'video/mpeg';
       $ct['mpg'] = 'video/mpeg';
       $ct['mpe'] = 'video/mpeg';
       $ct['qt'] = 'video/quicktime';
       $ct['mov'] = 'video/quicktime';
       $ct['avi']  = 'video/x-msvideo';
       $ct['wmv'] = 'video/x-ms-wmv';
       $ct['mp2'] = 'audio/mpeg';
       $ct['mp3'] = 'audio/mpeg';
       $ct['rm'] = 'audio/x-pn-realaudio';
       $ct['ram'] = 'audio/x-pn-realaudio';
       $ct['rpm'] = 'audio/x-pn-realaudio-plugin';
       $ct['ra'] = 'audio/x-realaudio';
       $ct['wav'] = 'audio/x-wav';
       $ct['css'] = 'text/css';
       $ct['zip'] = 'application/zip';
       $ct['pdf'] = 'application/pdf';
       $ct['doc'] = 'application/msword';
       $ct['bin'] = 'application/octet-stream';
       $ct['exe'] = 'application/octet-stream';
       $ct['class']= 'application/octet-stream';
       $ct['dll'] = 'application/octet-stream';
       $ct['xls'] = 'application/vnd.ms-excel';
       $ct['ppt'] = 'application/vnd.ms-powerpoint';
       $ct['wbxml']= 'application/vnd.wap.wbxml';
       $ct['wmlc'] = 'application/vnd.wap.wmlc';
       $ct['wmlsc']= 'application/vnd.wap.wmlscriptc';
       $ct['dvi'] = 'application/x-dvi';
       $ct['spl'] = 'application/x-futuresplash';
       $ct['gtar'] = 'application/x-gtar';
       $ct['gzip'] = 'application/x-gzip';
       $ct['js'] = 'application/x-javascript';
       $ct['swf'] = 'application/x-shockwave-flash';
       $ct['tar'] = 'application/x-tar';
       $ct['xhtml']= 'application/xhtml+xml';
       $ct['au'] = 'audio/basic';
       $ct['snd'] = 'audio/basic';
       $ct['midi'] = 'audio/midi';
       $ct['mid'] = 'audio/midi';
       $ct['m3u'] = 'audio/x-mpegurl';
       $ct['tiff'] = 'image/tiff';
       $ct['tif'] = 'image/tiff';
       $ct['rtf'] = 'text/rtf';
       $ct['wml'] = 'text/vnd.wap.wml';
       $ct['wmls'] = 'text/vnd.wap.wmlscript';
       $ct['xsl'] = 'text/xml';
       $ct['xml'] = 'text/xml';

       $extension = get_file_extension($value);

       if (!$type = $ct[strtolower($extension)]) {

           $type = 'text/html';
       }

       return $type;
   }

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux