Foros del Web » Programando para Internet » PHP »

problemas al descargar algo con php

Estas en el tema de problemas al descargar algo con php en el foro de PHP en Foros del Web. Estimado espero que me puedan ayudar tengo el siguiente problema cree una pagina php que permite crear pdf o archivos xls para poder obligar que ...
  #1 (permalink)  
Antiguo 14/12/2004, 08:06
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 20 años, 10 meses
Puntos: 0
problemas al descargar algo con php

Estimado espero que me puedan ayudar
tengo el siguiente problema
cree una pagina php que permite crear pdf o archivos xls
para poder obligar que el explorer baje el archivo creado lo hago con

las cabezeras

header("Content-Type: application/pdf");
header("Content-Disposition: attachment; filename=Orden_de_compra_$folio.pdf");


al hacer esto se me cierra el explorer solo

esto empezo a pasar cuando se intalo el sp2 de windows xp
solo pasa en window xp


al quitar la palabra attachment se abre el documento sin problema
pero no me sirve ya que si la persona no tiene excel o pdf deberia poder
descargar

tambien hice una pagina aparte para probar y funciona bien
al pararecer el problema pasa cuando hay unas variables se session abiertas
o algo asi pero aun no se bien que pasa!
please ayuda
  #2 (permalink)  
Antiguo 14/12/2004, 08:13
Avatar de donpincho  
Fecha de Ingreso: enero-2002
Mensajes: 563
Antigüedad: 22 años, 3 meses
Puntos: 1
Yo uso...

**************************
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"$filename\"");
readfile("$SRC_FILE");
**************************

Suerte :P
  #3 (permalink)  
Antiguo 14/12/2004, 08:27
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 20 años, 10 meses
Puntos: 0
muchas gracias por su ayuda pero no me funciono se cierra =
  #4 (permalink)  
Antiguo 14/12/2004, 08:48
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,
Cita:
esto empezo a pasar cuando se intalo el sp2 de windows xp
solo pasa en window xp
Un nuevo M$Bug
Cita:
al quitar la palabra attachment se abre el documento sin problema
pero no me sirve ya que si la persona no tiene excel o pdf deberia poder
descargar
Si el navegador no tiene configurado una accion para ese tipo de fichero, la accion por defecto es descargarlo. Haz la prueba, sube un fichero con una extension inventada (.josemi, por ejemplo ). Veras como te sale el dialogo con la opcion de descargar (o al menos es lo que hacen los navegadores normales).
Cita:
tambien hice una pagina aparte para probar y funciona bien
al pararecer el problema pasa cuando hay unas variables se session abiertas
o algo asi pero aun no se bien que pasa!
Me suenan problemas parecidos, con la generacion de documentos PDF dinamicamente. En la pagina de fpdf (www.fpdf.org) comentaban crear una redireccion al fichero creado temporalmente.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 14/12/2004, 09:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mmm Parece que el problema se origina por el control del caché que ajusta el uso de sesiones por defecto .. eso puede interferir con las própias cabeceras HTTP que se usan para sistemas de descargas como el propuesto.

Intenta desactivar el control del caché o cambiarlo por otros parámetros:

session_cahe_limiter()
http://www.php.net/manual/es/functio...he-limiter.php

Prueba con:
Código PHP:
<?

header 
(.........); // tus cabeceras ...

session_cache_limiter('public'); 
session_start(); 

// resto de tu script .. validación y demás ..
?>
Un saludo,
  #6 (permalink)  
Antiguo 14/12/2004, 10:12
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 20 años, 10 meses
Puntos: 0
no me funciono pero....

Estimado cluster prove con lo que ud me dio pero tampo funciono pero me di cuenta de otro detalle

a mi aplicacion en php se conectan mediante una pagina
esta pagina abre otra con javascript y quedan las 2 abiertas


me logie 1 vez entre al modulo y no funciono

pero me logeo una vez se abre la otra ventana, luego como quedaron
abierta las 2 ventanas vuelvo a la ventana 1 que es donde me conexte
y presiono otra vez conextar al aser esto la segunda venta se refresca
y hay si funcionan las descargas
  #7 (permalink)  
Antiguo 14/12/2004, 10:53
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago
Mensajes: 105
Antigüedad: 20 años, 9 meses
Puntos: 1
Hola!
Yo hace poco tuve el mismo problema con la clase FPDF y las sessions. Como dice Cluster, se soluciona con el session_cache_limiter() pero debes pasar como parametro "none".

Algo como esto:
Código:
<?
session_cache_limiter('none');
?>
Al menos asi, a mi se me solucionaron esos problemas.
Espero te sirva, un saludo
  #8 (permalink)  
Antiguo 14/12/2004, 12:54
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 20 años, 10 meses
Puntos: 0
snif snif

tampoco me funciono eso!!
gracias de todos modos


que sera !!!!
  #9 (permalink)  
Antiguo 15/12/2004, 07:12
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 20 años, 10 meses
Puntos: 0
estimado amigos gracias a todos por su ayuda en mi problema
encontre una solucion para este

me di cuenta que el problema realmente pasaba por que
la pagina principal la abria con window.\
y despues al ocupar "header" se cerraba el explorer

lo que hice fuen abrir dos veces la pagina osea


<script language="javascript">
window.open('../blank.php','pag','scrollbars=auto');
window.open('principal.php','pag','scrollbars=auto ');
</script>



al hacer esto la pagina principal se abre con la pag "blanck"
y luego se refresca y carga el principal

al hacer esto no medieron mas problemas los "header"


la verdad = no me gusta el metodo que use
si alguien sabe por que pasa esto y reparalo de algun modo mas logico
se lo agradeceria
  #10 (permalink)  
Antiguo 15/12/2004, 08:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Deberías poner el código completo que uses .. por qué "no sabiamos" que hacías eso de enviar "javascript" al cliente (navegador) .. ni como funciona realmente tu proceso.

Un saludo,
  #11 (permalink)  
Antiguo 15/12/2004, 08:57
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 20 años, 10 meses
Puntos: 0
este algo asi es lo que ago y se cae

1) crear a.php he insertar este codigo

Código:
<script language="javascript">

	var ventana = window.open('b.php','sitema','status=yes,toolbar=no,left=0,top=0,width=400,height=400,scrollbars=auto');
</script>

2) crear b.php he insertar este codigo
Código:
<iframe name="accion" id="accion"></iframe>

<form name="frm" action="c.php" target="accion">
<input type="hidden" name="folio" id="folio" value="">
<input type="submit" name="Submit" value="Enviar">
</form>

3) crear c.php he insertar este codigo
Código:
<?

    header("Content-Type: application/pdf");		 
	header("Content-Disposition: attachment;  filename=Orden_de_compra_$folio.pdf");
?>
  #12 (permalink)  
Antiguo 15/12/2004, 08:58
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 20 años, 10 meses
Puntos: 0
al hacer esta secuencia la pagina b que se abrio en un pop-up
se cieraa solo cuando uno preciona guadar en el dialogo que arroja el explorer
pero si en codigo de la pagina a.php hacen lo siguiente no se cae

Código:
<script language="javascript">
	var ventana = window.open('cualquierotrapagina.php','sitema','status=yes,toolbar=no,left=0,top=0,width=400,height=400,scrollbars=auto');
	var ventana = window.open('b.php','sitema','status=yes,toolbar=no,left=0,top=0,width=400,height=400,scrollbars=auto');
</script>
si se dan cuenta lo unico que hago es abrir otra pagina antes y luego abro
la que necesito y esto hace que funcione pero la verdad no creo que sea
la mejor manera para arreglar el problema
  #13 (permalink)  
Antiguo 15/12/2004, 09:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La verdad que me lié con tanto pop-up e iframes ..


En principio . .abres una ventana y ahí creas un iframe y tu formulario .. el formulario apunta el target hacia el iframe .. este se ejecuta como una página completamente independiente .. no sé el porqué tienes que abrir dos ventanas (y con el mismo nombre 'sistema') ..

(Esto ya parece que se escapa a PHP ...)

Un saludo,
  #14 (permalink)  
Antiguo 16/12/2004, 06:02
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago
Mensajes: 105
Antigüedad: 20 años, 9 meses
Puntos: 1
De acuerdo

Cita:
Iniciado por Ds1
al hacer esta secuencia la pagina b que se abrio en un pop-up
se cieraa solo cuando uno preciona guadar en el dialogo que arroja el explorer
pero si en codigo de la pagina a.php hacen lo siguiente no se cae

Código:
<script language="javascript">
	var ventana = window.open('cualquierotrapagina.php','sitema','status=yes,toolbar=no,left=0,top=0,width=400,height=400,scrollbars=auto');
	var ventana = window.open('b.php','sitema','status=yes,toolbar=no,left=0,top=0,width=400,height=400,scrollbars=auto');
</script>
si se dan cuenta lo unico que hago es abrir otra pagina antes y luego abro
la que necesito y esto hace que funcione pero la verdad no creo que sea
la mejor manera para arreglar el problema
mmmm.....
Bueno, lo bueno es que te resulto.
El metodo no es muy "sano", pero bueno. Podrias preguntar en el foro de JavaScript para "purificar" un poco eso.

Un Saludo
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 14:34.