Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/01/2014, 14:55
cristhianrios426
 
Fecha de Ingreso: diciembre-2011
Mensajes: 45
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: lanzar direccion real

muchas gracias NSD, pero por alguna razon que no entiendo, no me funciona los condicionales. = lo solucione salzando los archivos de esas carpetas usando un script que desarrolle.

muchas gracias

aqui dejo el script por si a alguien lo saca de lios

Código PHP:
Ver original
  1. $mainMimeTypes=array(//las cabeceras mas comunes
  2.     '.zip'=>'application/zip',
  3.     '.mp3'=>'audio/mpeg3',
  4.     '.ogg'=>'video/ogg',
  5.     '.mp4'=>'video/mp4',
  6.     '.css'=>'text/css',
  7.     '.js'=>'application/x-javascript',
  8.     '.png'=>'image/png',
  9.     '.jpeg'=>'image/jpeg' ,
  10.     '.jpg'=>'image/jpeg' ,
  11.     '.svg'=>'image/svg+xml',
  12.     '.pdf'=>'application/pdf',
  13.     '.swf'=>'application/x-shockwave-flash',
  14.     '.gif'=>'image/gif',
  15.     '.xml'=>'application/xml',
  16.     '.htm' =>'text/html',
  17.     '.html' =>'text/html');
  18.  
  19.  
  20.     function launchFile($path,$mainMimeTypes){
  21.  
  22.         $pathinfo = pathinfo($path);//obtengo la informacion del path
  23.         $ext = $pathinfo['extension'];//obtengo la extension del archivo
  24.         if(file_exists($path) && $ext != ''){//pregunto si el path existe y si apunta a un archivo al preguntar por la existencia de extension
  25.  
  26.  
  27.             if($ext == 'php'){//si es un archivo php, de hago include para que se ejecute
  28.                 include($path);
  29.             }else{// sino
  30.                
  31.                 $contentType='';//inicio en blanco la variable
  32.                
  33.                 if(isset($mainMimeTypes['.'.$ext])){//pregunto si esta registrado en el array de content type
  34.  
  35.                     $contentType=$mainMimeTypes['.'.$ext];  //igualo el valor si existe
  36.  
  37.                 }else{//sino
  38.                     //incluimos un .php con los mime types que faltaban. no los incluyo desde el comienzo para no sobrecargar el script, pues el 90% de los casos estan en el array del comienzo
  39.                     include('aux/mimeType.aux.php');//incluyo el script que contiene el array de tooooodos los contetnt type (o por lo menos todos los que pude encontrar)
  40.  
  41.                     if(isset($mimeTypes['.'.$ext])){//vuelvo a buscar si la extesion corresponde a un index del array
  42.  
  43.                         $contentType=$mimeTypes['.'.$ext];  //igualo
  44.  
  45.                     }else{//sino
  46.  
  47.                         foreach ($mimeTypes2 as $key => $value) {//para este segundo array los index contienen varios tipos de extension asi que los recorro
  48.                             if(strpos( $key,'.'.$ext ) == true){//preguntamos si existe
  49.                                 $contentType=$value;//igualamos
  50.                                 break;//rompemos el bucle
  51.                             }
  52.                         }
  53.                     }
  54.                 }
  55.             }
  56.  
  57.             header("Content-type: ".$contentType);//lanzamos los headers
  58.             readfile($path);//abrimos el archivo
  59.         }else{// si no existe el archivo
  60.  
  61.             header("HTTP/1.0 404 Not Found");//lanzamos error 404
  62.             header("Status: 404 Not Found");
  63.         }
  64.     }


y dejo el enlace de descarga para el archivo "aux/mimeType.aux.php"

https://mega.co.nz/#!AMZynTwC!SomS2nKnE8uBdPSz1pTUqx6JwMa6gxeDYg6yJIa lu3c