Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/12/2009, 10:26
chefnelone
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
Respuesta: Forzar descarga con header()?

Cita:
Iniciado por Hidek1 Ver Mensaje
Hace un tiempo hice esta función en caso de que no te funcione el mime_content_type en tu servidor...
contiene los archivos mas comunes :B
saludos!

Código php:
Ver original
  1. function get_mime($filename) {
  2.     $fileSuffix ="";
  3.     preg_match ( "|\.([a-z0-9]{2,5})$|i", $filename, $fileSuffix );
  4.     switch (strtolower ( $fileSuffix [1] )) {
  5.         case "js" :
  6.             $tipo[0] = "Aplicación Javascript";
  7.             $tipo[1] = "application/x-javascript";
  8.             return $tipo;
  9.        
  10.         case "json" :
  11.             $tipo[0] = "Aplicación Json";
  12.             $tipo[1] = "application/json";
  13.             return $tipo;
  14.        
  15.         case "jpg" :
  16.         case "jpeg" :
  17.         case "jpe" :
  18.             $tipo[0] = "Archivo de Imagen";
  19.             $tipo[1] = "image/jpg";
  20.             return $tipo;
  21.        
  22.         case "png" :
  23.         case "gif" :
  24.         case "bmp" :
  25.         case "tiff" :
  26.             $tipo[0] = "Archivo de Imagen";
  27.             $tipo[1] = "image/" . strtolower ( $fileSuffix [1] );
  28.             return $tipo;
  29.        
  30.         case "css" :
  31.             $tipo[0] = "Hoja de estilos";
  32.             $tipo[1] = "text/css";
  33.             return $tipo;
  34.        
  35.         case "xml" :
  36.             $tipo[0] = "Archivo XML";
  37.             $tipo[1] = "application/xml";
  38.             return $tipo;
  39.        
  40.         case "doc" :
  41.         case "docx" :
  42.             $tipo[0] = "Archivo de Microsoft Word";
  43.             $tipo[1] = "application/msword";
  44.             return $tipo;
  45.        
  46.         case "xls" :
  47.         case "xlt" :
  48.         case "xlm" :
  49.         case "xld" :
  50.         case "xla" :
  51.         case "xlc" :
  52.         case "xlw" :
  53.         case "xll" :
  54.             $tipo[0] = "Archivo de Microsoft Excel";
  55.             $tipo[1] = "application/vnd.ms-excel";
  56.             return $tipo;
  57.        
  58.         case "ppt" :
  59.         case "pps" :
  60.             $tipo[0] = "Archivo de Microsoft Power Point";
  61.             $tipo[1] = "application/vnd.ms-powerpoint";
  62.             return $tipo;
  63.        
  64.         case "rtf" :
  65.             $tipo[0] = "Archivo de texto Wordpad";
  66.             $tipo[1] = "application/rtf";
  67.             return $tipo;
  68.        
  69.         case "pdf" :
  70.             $tipo[0] = "Archivo de Presentación PDF";
  71.             $tipo[1] = "application/pdf";
  72.             return $tipo;
  73.        
  74.         case "html" :
  75.         case "htm" :
  76.         case "php" :
  77.             $tipo[0] = "Archivo de internet";
  78.             $tipo[1] = "text/html";
  79.             return $tipo;
  80.        
  81.         case "txt" :
  82.             $tipo[0] = "Archivo de texto";
  83.             $tipo[1] = "text/plain";
  84.             return $tipo;
  85.        
  86.         case "mpeg" :
  87.         case "mpg" :
  88.         case "mpe" :
  89.             $tipo[0] = "Archivo de Video";
  90.             $tipo[1] = "video/mpeg";
  91.             return $tipo;
  92.        
  93.         case "mp3" :
  94.             $tipo[0] = "Archivo de Audio";
  95.             $tipo[1] = "audio/mpeg3";
  96.             return $tipo;
  97.        
  98.         case "wav" :
  99.             $tipo[0] = "Archivo de Audio";
  100.             $tipo[1] = "audio/wav";
  101.             return $tipo;
  102.        
  103.         case "aiff" :
  104.         case "aif" :
  105.             $tipo[0] = "Archivo de Audio";
  106.             $tipo[1] = "audio/aiff";
  107.             return $tipo;
  108.        
  109.         case "avi" :
  110.             $tipo[0] = "Archivo de Video";
  111.             $tipo[1] = "video/msvideo";
  112.             return $tipo;
  113.        
  114.         case "wmv" :
  115.             $tipo[0] = "Archivo de Video";
  116.             $tipo[1] = "video/x-ms-wmv";
  117.             return $tipo;
  118.        
  119.         case "mov" :
  120.             $tipo[0] = "Archivo de Video";
  121.             $tipo[1] = "video/quicktime";
  122.             return $tipo;
  123.        
  124.         case "zip" :
  125.             $tipo[0] = "Archivo comprimido";
  126.             $tipo[1] = "application/x-rar-compressed";
  127.             return $tipo;
  128.        
  129.         case "rar" :
  130.             $tipo[0] = "Archivo comprimido";
  131.             $tipo[1] = "application/zip";
  132.             return $tipo;
  133.            
  134.         case "tar" :
  135.             $tipo[0] = "Archivo comprimido";
  136.             $tipo[1] = "application/x-tar";
  137.             return $tipo;
  138.        
  139.         case "swf" :
  140.             $tipo[0] = "Archivo flash";
  141.             $tipo[1] = "application/x-shockwave-flash";
  142.             return $tipo;
  143.        
  144.         default :
  145.             if (function_exists ( "mime_content_type" )) {
  146.                 $fileSuffix = mime_content_type ( $filename );
  147.             }
  148.             $tipo[0] = "Archivo Desconocido";
  149.             $tipo[1] = "unknown/" . trim ( $fileSuffix [0], "." );
  150.             return $tipo;
  151.     }  
  152. }
Gracias hidek1
con esto seguro que me arreglo.