Código PHP:
Ver original"hh" => 'text/x-c',
"dic" => 'text/x-c',
"f" => 'text/x-fortran',
"for" => 'text/x-fortran',
"f77" => 'text/x-fortran',
"f90" => 'text/x-fortran',
"java" => 'text/x-java-source',
"opml" => 'text/x-opml',
"p" => 'text/x-pascal',
"pas" => 'text/x-pascal',
"nfo" => 'text/x-nfo',
"etx" => 'text/x-setext',
"sfv" => 'text/x-sfv',
"uu" => 'text/x-uuencode',
"vcs" => 'text/x-vcalendar',
"vcf" => 'text/x-vcard',
"3gp" => 'video/3gpp',
"3g2" => 'video/3gpp2',
"h261" => 'video/h261',
"h263" => 'video/h263',
"h264" => 'video/h264',
"jpgv" => 'video/jpeg',
"jpm" => 'video/jpm',
"jpgm" => 'video/jpm',
"mj2" => 'video/mj2',
"mjp2" => 'video/mj2',
"mp4" => 'video/mp4',
"mp4v" => 'video/mp4',
"mpg4" => 'video/mp4',
"mpeg" => 'video/mpeg',
"mpg" => 'video/mpeg',
"mpe" => 'video/mpeg',
"m1v" => 'video/mpeg',
"m2v" => 'video/mpeg',
"ogv" => 'video/ogg',
"qt" => 'video/quicktime',
"mov" => 'video/quicktime',
"uvh" => 'video/vnd.dece.hd',
"uvvh" => 'video/vnd.dece.hd',
"uvm" => 'video/vnd.dece.mobile',
"uvvm" => 'video/vnd.dece.mobile',
"uvp" => 'video/vnd.dece.pd',
"uvvp" => 'video/vnd.dece.pd',
"uvs" => 'video/vnd.dece.sd',
"uvvs" => 'video/vnd.dece.sd',
"uvv" => 'video/vnd.dece.video',
"uvvv" => 'video/vnd.dece.video',
"dvb" => 'video/vnd.dvb.file',
"fvt" => 'video/vnd.fvt',
"mxu" => 'video/vnd.mpegurl',
"m4u" => 'video/vnd.mpegurl',
"pyv" => 'video/vnd.ms-playready.media.pyv',
"uvu" => 'video/vnd.uvvu.mp4',
"uvvu" => 'video/vnd.uvvu.mp4',
"viv" => 'video/vnd.vivo',
"webm" => 'video/webm',
"f4v" => 'video/x-f4v',
"fli" => 'video/x-fli',
"flv" => 'video/x-flv',
"m4v" => 'video/x-m4v',
"mkv" => 'video/x-matroska',
"mk3d" => 'video/x-matroska',
"mks" => 'video/x-matroska',
"mng" => 'video/x-mng',
"asf" => 'video/x-ms-asf',
"asx" => 'video/x-ms-asf',
"vob" => 'video/x-ms-vob',
"wm" => 'video/x-ms-wm',
"wmv" => 'video/x-ms-wmv',
"wmx" => 'video/x-ms-wmx',
"wvx" => 'video/x-ms-wvx',
"avi" => 'video/x-msvideo',
"movie" => 'video/x-sgi-movie',
"smv" => 'video/x-smv',
"ice" => 'x-conference/x-cooltalk'
];
//Se obtiene la extencion en minusculas del archivo.
//Se obtiene el Mime de la extencion.
$MiMe = $MiMeS[$EXT];
//Se libera el espacio en memoria del vector MiMeS.
//Si el Mime de la extencion no existe se asume que es un archivo binario.
If ($MiMe == '') { $MiMe = 'application/octet-stream'; }
Return($MiMe);
}
//Modo de uso:
$NombreDeArchivo = 'Archivo.mp4';
Echo(GetMime($NombreDeArchivo));
?>
Ventajas: - No usa extensiones.
- Muchos mas mimes que las funciones nativas.
- Pueden agregarse mas mimes fácilmente.
- Eficiente.
Contras:- No indica el Mime real del archivo, solo el Mime de la extensión.
Espero les sea de utilidad si en algún momento se topan con este problema.
Cualquier sugerencia para mejorarla es bienvenida, y cualquier critica mientras no sea ofensiva también es aceptada.
Saludos.
Nota:
Para almacenar el Mime resultante de esta funcion en una base de datos debera usarse un campo Char(72).
Fuentes de los Mimes: http://svn.apache.org/viewvc/httpd/h...?view=annotate