Foros del Web » Programando para Internet » PHP »

Generar archivo delimitado por columna

Estas en el tema de Generar archivo delimitado por columna en el foro de PHP en Foros del Web. Buenas a todos tengo el siguiente problema necesito generar un archivo .txt con datos de una db estos deben estar delimitados por columnas no por ...
  #1 (permalink)  
Antiguo 21/07/2008, 14:40
 
Fecha de Ingreso: febrero-2007
Mensajes: 7
Antigüedad: 17 años, 1 mes
Puntos: 1
Generar archivo delimitado por columna

Buenas a todos tengo el siguiente problema necesito generar un archivo .txt con datos de una db estos deben estar delimitados por columnas no por ;(punto y coma como es lo general) si me pudieran ayudar a construirlo el ejmp es el siguiente.


Código PHP:
     00001010030102        V 0028037311601                              RUIZ
     00002010020102        V 0018037311601                              RODRIGUEZ
     00003010020102        E 0008037311601                              PEREZ
     
.... 

Este archivo luego va hacer leído por un mainframe en cobol por ello la exactitud al momento de generar tal archivo en php les agradezco su ayuda.

saluds.

Última edición por edrop14; 21/07/2008 a las 14:48
  #2 (permalink)  
Antiguo 21/07/2008, 16:41
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Generar archivo delimitado por columna

bueno yo no veo las comas en esa muestra pero podrias utilizar un

explode(',',file_get_contents('archivo.txt'));
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 21/07/2008, 17:15
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Generar archivo delimitado por columna

Mira... suponiendo que tienes los registros en un arreglo, esto podria servir:
Código PHP:
//registro 1
$arr[0][0] = "00001010030102";
$arr[0][1] = "V";
$arr[0][2] = "0028037311601";
$arr[0][3] = "RUIZ";

//registro 2
$arr[1][0] = "00002010020102";
$arr[1][1] = "V";
$arr[1][2] = "0018037311601";
$arr[1][3] = "RODRIGUEZ";

//registro 3
$arr[2][0] = "00003010020102";
$arr[2][1] = "E";
$arr[2][2] = "0008037311601";
$arr[2][3] = "PEREZ";

$archivo fopen("test.txt","a") or die("No se puede crear.");

for(
$a=0;$a<count($arr);$a++){
    
fputs($archivo"     ".$arr[$a][0]."        ".$arr[$a][1]." ".$arr[$a][2]."                              ".$arr[$a][3]."");
    
fputs($archivo,"\r\n");
}

fputs($archivo,"     ...");
fclose($archivo);

print 
"Archivo creado"
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #4 (permalink)  
Antiguo 23/07/2008, 08:45
 
Fecha de Ingreso: febrero-2007
Mensajes: 7
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: Generar archivo delimitado por columna

hola marvin.

Muchas gracias por tu ayuda ya estoy implementando el codigo para generar el txt cualquier duda vuelvo para aca gracias.

Última edición por edrop14; 23/07/2008 a las 08:51
  #5 (permalink)  
Antiguo 23/07/2008, 08:58
Avatar de fhonorato  
Fecha de Ingreso: julio-2008
Ubicación: Talca, Chile
Mensajes: 36
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Generar archivo delimitado por columna

si funciona avisa, yo creo que no, por que el largo de cada cadena es diferente.. en tu caso no, pero del ejemplo si ... talvez usar un tabulador??...
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 13:34.