Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/10/2012, 15:22
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Sonrisa [[[APORTE]]] Funcion para obtener Mime

Buenas gente del foro, buscando por Internet a raíz de un tema que vi aquí mismo descubrí que $_FILES['Archivo']['Type] no siempre devuelve el Mime correcto y que en su lugar lo trata como binario.

Las únicas alternativas que aparecen (algunas incluso fueron sugeridas por miembros de este foro) son salir a la consola del sistema operativo o bien usar una extensión de php.

El caso es que si estamos en un server compartido una extensión puede ser un problema con el proveedor de hosting (o en uno local si nos da fiacona instalarla)

Por tal motivo realice esta funcion que devuelve el mime correcto entre 983 tipos de archivos posibles y que no necesita nada extra para funcionar.
Código PHP:
Ver original
  1. <?php
  2.     Function GetMime($NDA) {
  3.         //Se definen en un vector los Mimes (983)
  4.         $MiMeS = [
  5.             "aw" => 'application/applixware',
  6.             "atom" => 'application/atom+xml',
  7.             "atomcat" => 'application/atomcat+xml',
  8.             "atomsvc" => 'application/atomsvc+xml',
  9.             "ccxml" => 'application/ccxml+xml',
  10.             "cdmia" => 'application/cdmi-capability',
  11.             "cdmic" => 'application/cdmi-container',
  12.             "cdmid" => 'application/cdmi-domain',
  13.             "cdmio" => 'application/cdmi-object',
  14.             "cdmiq" => 'application/cdmi-queue',
  15.             "cu" => 'application/cu-seeme',
  16.             "davmount" => 'application/davmount+xml',
  17.             "dbk" => 'application/docbook+xml',
  18.             "dssc" => 'application/dssc+der',
  19.             "xdssc" => 'application/dssc+xml',
  20.             "ecma" => 'application/ecmascript',
  21.             "emma" => 'application/emma+xml',
  22.             "epub" => 'application/epub+zip',
  23.             "exi" => 'application/exi',
  24.             "pfr" => 'application/font-tdpfr',
  25.             "gml" => 'application/gml+xml',
  26.             "gpx" => 'application/gpx+xml',
  27.             "gxf" => 'application/gxf',
  28.             "stk" => 'application/hyperstudio',
  29.             "inkml" => 'application/inkml+xml',
  30.             "ink" => 'application/inkml+xml',
  31.             "ipfix" => 'application/ipfix',
  32.             "jar" => 'application/java-archive',
  33.             "ser" => 'application/java-serialized-object',
  34.             "class" => 'application/java-vm',
  35.             "js" => 'application/javascript',
  36.             "json" => 'application/json',
  37.             "jsonml" => 'application/jsonml+json',
  38.             "lostxml" => 'application/lost+xml',
  39.             "hqx" => 'application/mac-binhex40',
  40.             "cpt" => 'application/mac-compactpro',
  41.             "mads" => 'application/mads+xml',
  42.             "mrc" => 'application/marc',
  43.             "mrcx" => 'application/marcxml+xml',
  44.             "ma" => 'application/mathematica',
  45.             "nb" => 'application/mathematica',
  46.             "mb" => 'application/mathematica',
  47.             "mathml" => 'application/mathml+xml',
  48.             "mbox" => 'application/mbox',
  49.             "mscml" => 'application/mediaservercontrol+xml',
  50.             "metalink" => 'application/metalink+xml',
  51.             "meta4" => 'application/metalink4+xml',
  52.             "mets" => 'application/mets+xml',
  53.             "mods" => 'application/mods+xml',
  54.             "m21" => 'application/mp21',
  55.             "mp21" => 'application/mp21',
  56.             "mp4s" => 'application/mp4',
  57.             "doc" => 'application/msword',
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios