Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/02/2006, 05:03
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
Iniciado por helthon
Debes de incluir esos dos codigos al inicio de tu pagina
<?
ob_flush();
?>
<html>
<?
header("Location: http://www.direccion.de.la.web.com/archivo.zip");
?>

</html>
<?
ob_flush();
?>
No deberían hacer uso del "buffer" de PHP para una taréa que se puede hacer simplemente re-ordentando el código de "salida" que generamos.

Me explico:
Cuando uno tiene un script PHP de proceso .. y "redirecciona" .. normalmente implica que en ese punto del flujo del código PHP queremos abandonar la ejecución del mismo para ejecutar otro. Com "sabemos" (o no?) que PHP se "ejecuta" en el servidor y su proceso final es entregado al "cliente" .. NO tiene sentido ni enviar nada de "HTML" al cliente ni mucho menos "capturar" el buffer de salida de PHP para hacer una taréa que se trata de "cambiar de script" (eso sí, la cabecera HTTP es la que manda al "cliente" que cambie a otro URL en general).

Por ende .. se trata de hacer procesos tipo:

Código PHP:
<?
// logica PHP
if(condicion){
// redirecciono
header ("Location: dondesea.tal");
exit; 
// y termino la ejecución del script en este punto ..ya no me interesa que se ejeucte nada de PHP más.


// tal vez me interese "generar" una página HTML común si la validación anterior pasó (caso típico). 
// Es a partir de aquí donde compondría mi página HTML NO antes
?>
<html>
<head>
</head>
<body>
blablabla
<? // más PHP .. etc ?>
</body>
</html>
Trabajar así con "PHP" es conocer como funciona PHP .. No pensando en "incrustrar" PHP entre HTML!.

Un saludo,