Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/08/2008, 10:35
adoram
 
Fecha de Ingreso: agosto-2008
Mensajes: 1
Antigüedad: 15 años, 8 meses
Puntos: 0
Archivo de Texto plano con PHP


Buenas Amigos/as del Foro, e recorrido y andado navegando por donde sitio diga "Archivo de texto plano en PHP" y me han sido de MUCHISIMA UTILIDAD, e utilizado partes de codigos de distintos Amigos, probado un MAZOTE de partes de codigos de distintos Amigos, llegue a armar mi Archivo de Texto Plano, pero nunca me daba el salto de linea.
Como por ejemplo en NotePad vemos lineas una debajo de las otras, yo veia una sola linea; todos los registros de mi tabla uno seguido del otro con el delimitador de los campos si correctamente, pero salto de linea nada.
Probe hasta el artazgo funciones de PHP, postgres, codigo ASCII de windows, codigo de Linux y NUNCA EL SALTO DE LINEA salio.
Analizando y comparando rejuntes de ejemplos de los Amigos de este foro y de otros foros y sitios de ayuda......LO LOGREEEEEEEEE!!!!!!!!!!

Puede que sobren cosas, que estan demas, pero asi me funciono y asi lo deje, como dice un Amigo Programer "Lo que funciona NO SE TOCA", por algo sera.

El archivo que genera se llama "listado.txt" y lo baja a tu maquina o la del cliente obvio. Demas esta decirles que genera un Texto Plano tipo NotePad y que por ende permite importarlo desde cualquier otra aplicacion o Base de Datos y hasta en excel abrirlo y le inclui los titulos de columnas como encabezado.

Les paso el codigo que me genera ese NECESITADO Archivo Plano con Salto de Linea en PHP. Cualquier sugerencia o queja, me maiLEAN..jeje


----------------------------------------------------------------------------------------------------

<?

include "conexionbase.php";
include "bibliotecanva.php";

$query = "SELECT * FROM maebase ORDER BY dni";
$resultado = pg_query($CONX,$query);

/////////////////////////// INICIO GENERACION DEL ARCHIVO PARA enviar
$f = fopen("./listado.txt","w+");
$sep = ";";
$linea = "";

//// INICIO - GENERA TITULOS DE ENCABEZADO Y GRABA AL ARCHIVO
$linea = "D.N.I." . $sep . "APELLIDO Y NOMBRE" . $sep . "AGRUPAMIENTO" . $sep . "NIVEL" . $sep . "BASICO" . $sep . "ANTIGUEDAD" . $sep . "PRESENTISMO" . $sep . "TITULO" . $sep . "FUN.JERARQUICA" ."\r\n";

fwrite($f,$linea);
$linea = "";
//// FIN - GENERA TITULOS DE ENCABEZADO Y GRABA AL ARCHIVO

//// INICIO - GRABA REGISTRO A REGISTRO AL ARCHIVO
while($orig = pg_fetch_array($resultado) ) {

$query = "SELECT * FROM escala WHERE nivel=9";
$re_nivel = pg_query($CONX,$query);
$nivel=pg_fetch_assoc($re_nivel);
$basniv9=$nivel['basico'];

$query = "SELECT * FROM escala WHERE nivel=". $orig ['nivel'];
$re_nivel = pg_query($CONX,$query);
$nivel=pg_fetch_assoc($re_nivel);

$basico=$nivel['basico'];
$anti=$nivel['basico']*0.02;
$presen=$nivel['basico']*0.2;

$query2 = "SELECT * FROM titulos WHERE codtit=". $orig['codtitulo'];
$re_titulo = pg_query($CONX,$query2);
$titulos=pg_fetch_assoc($re_titulo);

$tit=$basniv9 * $titulos['coefic'];

if ($orig['funjer']==1){
$funjer=$basico*.25;
}
else
{$funjer=0;
}

$linea = $orig['dni'] . $sep . $orig['apellido'] . $sep . $orig['agrupa'] . $sep . $orig['nivel'] . $sep . number_format($basico, 2, ',', '') . $sep . number_format($anti, 2, ',', '') . $sep . number_format($presen, 2, ',', '') . $sep . number_format($tit, 2, ',', '') . $sep . number_format($funjer, 2, ',', '') ."\r\n";

///// ACA ARRIBA ESTA INSERTADO EL SALTO LINEA AL FINAL con "\r\n"

fwrite($f,$linea);
}
fclose($f);
//// FIN - GRABA REGISTRO A REGISTRO AL ARCHIVO

//// INICIO - DEVUELVE EL ARCHIVO PARA GRABAR A PC CLIENTE
$fichero = "./listado.txt";
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=".basename($fichero) );
header("Content-Transfer-Encoding: binary");
header("Content-Length:".filesize($fichero));
header("Content-Type: application/force-download");
header("Pragma: no-cache");
header("Expires: 0");
@readfile($fichero);
//// FIN - DEVUELVE EL ARCHIVO PARA GRABAR A PC CLIENTE
//////////////////////////// FIN GENERACION DEL ARCHIVO PARA enviar

?>

Última edición por adoram; 15/08/2008 a las 09:40