Foros del Web » Programando para Internet » PHP »

PHP Script Download problemas paginas web en IE

Estas en el tema de PHP Script Download problemas paginas web en IE en el foro de PHP en Foros del Web. Hola a todos, tengo el siguiente problema: Tengo una carpeta llamada X que esta protegida con contraseña por medio de .htaccess y .htpasswd. Para descargar ...
  #1 (permalink)  
Antiguo 19/05/2012, 16:25
 
Fecha de Ingreso: diciembre-2011
Ubicación: Corrientes
Mensajes: 12
Antigüedad: 12 años, 3 meses
Puntos: 1
PHP Script Download problemas paginas web en IE

Hola a todos, tengo el siguiente problema:

Tengo una carpeta llamada X que esta protegida con contraseña por medio de .htaccess y .htpasswd. Para descargar un archivo este tiene que ser solicitado por PHP de lo contrario a la persona que quiera descargar un archivo por url directo se le solicitara que ingrese el usuario y la contraseña asignados a la carpeta X.
Hasta aqui todo esta perfecto, el codigo que utilizo para la descarga es el siguiente:

Código PHP:
if (file_exists($fichero)) {
    
header('Content-Description: File Transfer');
    
header('Content-Type: application/octet-stream');
    
header('Content-Disposition: attachment; filename='.basename($fichero));
    
header('Content-Transfer-Encoding: binary');
    
header('Expires: 0');
    
header('Cache-Control: must-revalidate');
    
header('Pragma: public');
    
header('Content-Length: ' filesize($fichero));
    
ob_clean();
    
flush();
    
readfile($fichero);
    exit;

El problema viene cuando la descarga se realiza en internet explorer, la descarga se realiza correctamente pero despues de la descarga todo lo referido a imagenes animadas como GIF, y todo el CSS que no se muestra en el momento porque esta en modo Hidden y luego es mostrado por javascript con style.visibility no funciona, es decir, las imagenes background para los DIV que estab en modo hidden al pasarlo a visible no se muestran, etc. Esto solo pasa en IE, en firefox y demas la descarga se realiza correctamente y la pagina se ve bien.

si pudiera hacer una redireccion de pagina, o una recarga de la pagina despues del codigo de descarga se solucionaria el problema, pero como el codigo de descarga PHP es por medio de header una vez leida la linea readfile($fichero); todo lo que venga a continuacion ya no es ejecutado por el navegador.
dejo dos codigos uno html y otro php, en el html va una imagen animada para que puedan, si es que hacen la prueba, ver el problema.

Código HTML:
Ver original
  1. <a href="descargar1.php"><img src="caratulas/hipo.gif"></a>
  2. </body>
  3. </html>

Código PHP:
<?php $fichero "micarpeta/imagenanimada.gif";
    
header('Content-Description: File Transfer');
    
header('Content-Type: application/octet-stream');
    
header('Content-Disposition: attachment; filename='.basename($fichero));
    
header('Content-Transfer-Encoding: binary');
    
header('Expires: 0');
    
header('Cache-Control: must-revalidate');
    
header('Pragma: public');
    
header('Content-Length: ' filesize($fichero));
    
ob_clean();
    
flush();
    
readfile($fichero);
    exit;
Desde ya muchas gracias!!
  #2 (permalink)  
Antiguo 19/05/2012, 19:40
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: PHP Script Download problemas paginas web en IE

La verdad no entendí, tal vez porque no veo nada de lo que dices respecto a visibilidad en CSS o javascript y lo único que puedo decir es que ese par de códigos (html+php) me parecen que hacen lo que se pretende.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 19/05/2012, 21:03
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 10 meses
Puntos: 127
Respuesta: PHP Script Download problemas paginas web en IE

para esconder y reiniciar podrias usar jquery ya esta omologado para los navegadores mas conocidos

Etiquetas: download, html, imagenes, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:32.