Foros del Web » Programando para Internet » PHP »

PHP OO Problemas con la exportacion desde php a txt

Estas en el tema de Problemas con la exportacion desde php a txt en el foro de PHP en Foros del Web. Cuando exporto los datos cuando son muchos comienza a fallar y se abre la ventana del navegador con los datos... lo cual no es lo ...
  #1 (permalink)  
Antiguo 22/07/2013, 13:48
 
Fecha de Ingreso: mayo-2013
Mensajes: 27
Antigüedad: 11 años, 6 meses
Puntos: 1
Problemas con la exportacion desde php a txt

Cuando exporto los datos cuando son muchos comienza a fallar y se abre la ventana del navegador con los datos... lo cual no es lo q necesito,
necesito que se abra un archivo descargable
les dejo el codigo para ver si hay algo malo
Código PHP:
<?php
$downloadfile
="prueba.txt";

$sql="CONSULTA SQL";
$result=mysql_query($sql) or die(mysql_error());
while(
$row=mysql_fetch_array($result))
{
    
$i++;
    
$fe=explode("-",$row['fechav']);
    
$fec=$fe[2].".".$fe[1].".".$fe[0];
$filecontent=$row['1']."|".$row['2']."|".$row['3']."|".$row['4']."|".$fec."|".$row['6']."|".$row['7']."|".$row['8']."|".$row['9']."|".$row['10']."|A|0"."\r\n";
    if(
$filecontent==NULL || $filecontent==0)
    {
        
$filecontent="hola";echo $filecontent;}
    else{echo 
$filecontent;}
}
header("Content-disposition: attachment; filename=$downloadfile");
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".strlen($filecontent));
header("Pragma: no-cache");
header("Expires: 0");
?>
  #2 (permalink)  
Antiguo 22/07/2013, 13:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Problemas con la exportacion desde php a txt

Los headers deberían de ir ANTES de que envíes el contenido al navegador para indicar la descarga...
  #3 (permalink)  
Antiguo 22/07/2013, 14:58
 
Fecha de Ingreso: mayo-2013
Mensajes: 27
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Problemas con la exportacion desde php a txt

funciona de ambas maneras, en muchos casos me muestra solo el 1er registro de 100 y en otros nada
  #4 (permalink)  
Antiguo 22/07/2013, 15:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Problemas con la exportacion desde php a txt

Es por tu header:
Código PHP:
Ver original
  1. header("Content-Length: ".strlen($filecontent))

Como te digo, los headers deben de ir antes de que imprimas el contenido, si quieres calcular el tamaño de lo que vas a enviar, entonces guarda tus resultados en un array / buffer, calcula ese tamaño y luego lo envías al navegador.

Etiquetas: exportacion, sql, txt
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 08:45.