Ver Mensaje Individual
  #11 (permalink)  
Antiguo 26/02/2010, 10:42
sesebas
 
Fecha de Ingreso: enero-2009
Mensajes: 173
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Llamada a archivo PHP no se ejecuta en IE

Bueno, tarde un poco en encontrar el problema y solucionarlo. Definitivamente se encontraba en una linea de codigo del archivo php que mostre al inicio de mi consulta,lo agrego ahora con las modificaciones y comentarios del caso con la idea de que pueda servir por si otros se encuentran con un problema similar.

Gracias a los que intentaron ayudarme y al blog que me permitio dar con la solucion definitiva "http://blog.unijimpe.net/forzar-descarga-con-php/".

El codigo que funciona tanto en IE como en FFox:

Código PHP:
Ver original
  1. <?php
  2. if (!isset($_GET['archivo']) || empty($_GET['archivo'])) {
  3.     exit();
  4. }
  5.  
  6. // Esta linea generaba el problema...
  7. // ***************************************
  8. // $root = "http://scarrasco-xp/WEB/INDIGENAS/MIGR_Int/ExcelFiles/";
  9. // ***************************************
  10.  
  11. $root = "ExcelFiles/"; // Ruta relativa a la carpeta en que esta el archivo xls,partiendo desde donde se encuentra el "download.php"
  12. $archivo = basename($_GET['archivo']);
  13. $path = $root.$archivo;
  14. $size = filesize($path);
  15.  
  16.  
  17. $type = "";
  18. // Ambas lineas funcionan... Me gustaria saber la diferencia entre una u otra opcion!!
  19. // ***************************************
  20.     $type = "application/vnd.ms-excel";
  21. //  $type = "application/force-download";
  22. // ***************************************
  23.  
  24.     header("Content-Type:$type");
  25.  
  26. // Ambas lineas funcionan...
  27. // ***************************************
  28.     header("Content-Disposition: attachment; filename=\"$archivo\"");
  29. //  header("Content-Disposition: attachment; filename=$archivo");
  30. // ***************************************
  31.  
  32.     header("Content-Transfer-Encoding:binary");
  33.     header("Content-Length: " . $size);
  34.     readfile($path);
  35.  ?>

Ahora que por fin todo esta bien, me he propuesto hacer funcionar todo usando ASP y IIS. Por elmomento ya tengo una maquina con IIS y PHP con mi aplicacion funcionando... vere si puedo convertir lo que tengo en PHP a ASP, de manera que lomas probable es que vuelva a parecer pidiendo ayuda.

Gracias por todo.



















"