Foros del Web » Programando para Internet » PHP »

Internet explorer no abre pdf

Estas en el tema de Internet explorer no abre pdf en el foro de PHP en Foros del Web. Hola, Bien, tengo un enlace mas o menos de este tipo: http://dominio/carpeta/abrepdf.php?v...=miarchivo.pdf Evidentemente lo que busca es abrir un pdf, en el script abrepdf.php tengo ...
  #1 (permalink)  
Antiguo 23/08/2006, 09:24
Avatar de KarenFerreira  
Fecha de Ingreso: abril-2005
Ubicación: Bucaramanga, Colombia
Mensajes: 87
Antigüedad: 12 años, 8 meses
Puntos: 2
Internet explorer no abre pdf

Hola,

Bien, tengo un enlace mas o menos de este tipo:
http://dominio/carpeta/abrepdf.php?v...=miarchivo.pdf

Evidentemente lo que busca es abrir un pdf, en el script abrepdf.php tengo el siguiente código:

Código PHP:
<?php
include("autenticar.php");
$pdf $_GET['vardestino'];
abrepdf($pdf);
function 
abrepdf($pdf)
{
    
header("Content-type: application/pdf\r\n");
    
header("Content-Disposition: attachment; filename=\"".$pdf."\"\r\n");
    
readfile($pdf);
}
?>
resulta que al abrirlo desde firefox, funciona bien, me abre la ventanita donde pregunta si lo que quiero es abrir el archivo pdf o guardarlo, si lo guardo bien, si lo abro unicamente pues bien tambien... el problema es que al abrirlo en internet explorer me muestra una ventana donde me dice que me abre o me guarda el archivo html de abrepdf y no el que debería abrir o guardar que para este caso sería el miarchivo.pdf... que podría estar pasando?... estuve buscando, pero a muchos les ha sucedido lo contrario, que abre bien desde ie, pero no desde firefox, alguna sugerencia?

Saludos
__________________
'Esto va a salir mal de todos modos, asi que no vale la pena estresarse por eso.' Tony Kakko.
  #2 (permalink)  
Antiguo 23/08/2006, 10:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Los saltos de línea que usas \n\r .. pocas veces he visto en ejemplos que los usen .. Prueba quitarselos o usar \n sólo (salto línea (\n) sin retorno carro (\r).

Si en lugar de abrir o guardar el archivo quieres verlo en "linea" . .deberías usar en lugar de "attachment" -> "inline" (en la cabecera HTTP de "content-disposition").

Por otro lado .. OJO con la seguridad .. por el mismo médio que descargas un PDF .. observa que sucede si indicas un .php u otro tipo de archivo, deberías validar que archivos se pretenden "bajar" por ese médio y de que rutas ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 23/08/2006, 11:30
Avatar de KarenFerreira  
Fecha de Ingreso: abril-2005
Ubicación: Bucaramanga, Colombia
Mensajes: 87
Antigüedad: 12 años, 8 meses
Puntos: 2
Tienes razón Cluster, tengo que ajustarle algunas cosas de seguridad, por otro lado, ya probe lo que mencionas, ahora en firefox, me abre el archivo de una vez, y en IE también, pero desde el explorador como tal, sin hacer un llamado al acrobat reader, que sera lo que pasa?
__________________
'Esto va a salir mal de todos modos, asi que no vale la pena estresarse por eso.' Tony Kakko.
  #4 (permalink)  
Antiguo 23/08/2006, 11:58
Avatar de GaboMaKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Viña del Mar - Chile
Mensajes: 323
Antigüedad: 15 años, 1 mes
Puntos: 2
pueder ser solo configuración de tu explorer, de hecho yo lo tengo configurado para que no me abra los pdfs en el browser, en la configuración de adobe reader en las preferencias>internet> chequea o deschequea según tu necesidad la opciòn Display PDF en Browser.
exito.
__________________
Exito!!
:censura:
Visita Uganet.cl
  #5 (permalink)  
Antiguo 23/08/2006, 12:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
pero desde el explorador como tal, sin hacer un llamado al acrobat reader, que sera lo que pasa?

En ese caso revisa las asociaciones de tu S.O. de archivos (extensiones) a las aplicaciones que lo abran .. ¿Esto te sucede con todos tus .pdf? .. (no sólo los que por tu sistema "bajas" a tu PC ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 24/08/2006, 11:40
Avatar de KarenFerreira  
Fecha de Ingreso: abril-2005
Ubicación: Bucaramanga, Colombia
Mensajes: 87
Antigüedad: 12 años, 8 meses
Puntos: 2
Bueno, ya pude con esto, por ahi escarbando en internet encontre una solución y de paso hice las validaciones que me recomendó Cluster, ahi se las dejo:

Código PHP:
<?php
include("autenticar.php");
$destino $_GET['vardestino'];
$archivo $_GET['vararchivo'];
if(
strtolower(substr($archivo, -4))!=".pdf")
{
    print(
" <script>
                alert(\"El archivo que esta intentando abrir no es un archivo valido\");
                history.back(-1);
             </script>"
);
}
else if(
strcmp($_SESSION['vrpath'], $destino)!=0)
{
    
/*Aclaración: previamente habia definido una variable de sesion con la ruta de donde se pueden abrir o descargar los pdf's*/
    
print(" <script>
                alert(\"No esta autorizado para acceder a este sitio\");
                history.back(-1);
             </script>"
);    
}
else
{
  
$ruta$destino.$archivo;
  
$tamanofilesize($ruta);
  
header("Pragma: public");
  
header("Expires: 0");
  
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  
header("Content-Type: application/pdf");
  
header("Content-Length: ".$tamano);
  
header("Content-Disposition: attachment; filename=$archivo");
  
header("Content-Transfer-Encoding: binary");
  
$fp fopen($ruta'rb');
  
$buffer fread($fp$tamano);
  
fclose ($fp);
  print 
$buffer;
  exit(); 
}
?>
Saludos
__________________
'Esto va a salir mal de todos modos, asi que no vale la pena estresarse por eso.' Tony Kakko.
  #7 (permalink)  
Antiguo 24/08/2006, 11:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Gracias por compartir tu solución.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:51.