Foros del Web » Programando para Internet » PHP »

Archivo plano ascii

Estas en el tema de Archivo plano ascii en el foro de PHP en Foros del Web. Tengo un problema al parecer con el retorno de linea. Necesito actualizar una tabla de una base de datos, la informacion la debo de tomar ...
  #1 (permalink)  
Antiguo 08/08/2006, 18:00
 
Fecha de Ingreso: agosto-2003
Ubicación: Lima
Mensajes: 123
Antigüedad: 20 años, 8 meses
Puntos: 3
Archivo plano ascii

Tengo un problema al parecer con el retorno de linea.
Necesito actualizar una tabla de una base de datos, la informacion la debo de tomar de un archivo texto (delimitado por comas), pero no puedo determinar donde concluye una linea.

En los datos de ejemplo que estoy poniendo abajo e insertado una linea en blanco entre linea y linea para no confundir.

Cuando empleo este comando me retorna en $lineas un arreglo con todos los datos de todas las filas, pero yo necesito solo los datos de una fila para asi poder hacer inser o update a mi tabla y posteriormente tomar la siguiente fila.

$lineas = split(',',$content);


Entorno
======
Linux Mandriva 2006, Postgresql 8 y PHP5.



Esta es la data (ENVLORDC.TXT)
========================

"200601068","02","5","07919","TAIMA INTERNATIONAL INC."," -",20060720,3852.0000,22726.80,"DOL","C30","Com pra de Calzado","MGUTIERR",20060905,20060905,"CAL",""

"200601079","02","5","07777","MANUFACTURA BOLIVIANA S.A./MANACO","FABRICA DE CALZADO MANACO CASILLA 513 COCHABAMBA",20060719,600.0000,4710.00,"DOL","F90", "Compra de Calzado","MGUTIERR",20060915,20060915,"CAL",""

"200600844","02","5","07796","LEA INTERNATIONAL","RM.1106 #18 XIBAH DONGLI CHAO YANG DISTR. -",20060614,2120.0000,13610.40,"DOL","C12","Com pra de Calzado","MGUTIERR",20060730,20060730,"CAL",""



Este es el codigo
============

function pMigra_Ordenes3() {

print "Migrando datos de Ordenes de Compra a sComercial<br>";

//$cnx = gConecBD('ADODB', 'pgsql', 'scomercial');

$arch = "/var/www/htdocs/temporal/ENVLORDC.TXT";
$fp = fopen($arch,"rt");
$content = fread($fp,filesize($arch));
fclose($fp);
$lineas = split(',',$content);

//print_r($lineas)."<br>";
//echo count($lineas)."<br>";

// Aqui deberia recorrer linea por linea el archivo de texto.
for ($i=0; $i < count($lineas); $i ) {

//echo $lineas[0]."<br>";

// Aqui verifico si ya existe el registro.
$sql = "select nro_ocompra from tocompra where nro_ocompra = '".$lineas[0]."'";
//$cnx->debug = true;
$reg = $cnx->Execute($sql);
if ($reg === false) die($cnx->ErrorMsg());
$nReg = $reg->RecordCount();
unset($sql); $reg->close();

if ($nReg>0) {
// actualizo el registro
$sql = "update .......";
}else{
// inserto nuevo registro
$sql = "insert .......";
}

//$cnx->debug = true;
$reg = $cnx->Execute($sql);
if ($reg === false) die($cnx->ErrorMsg());
unset($sql); $reg->close();

}

//$cnx->close();
}


Muchas gracias por su ayuda.
  #2 (permalink)  
Antiguo 08/08/2006, 19:53
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Creo que esto te puede servir:
http://www.php.net/file

Luego lo que hacés es iterar sobre la matriz creada.


Saludos.
  #3 (permalink)  
Antiguo 09/08/2006, 10:02
 
Fecha de Ingreso: agosto-2003
Ubicación: Lima
Mensajes: 123
Antigüedad: 20 años, 8 meses
Puntos: 3
Muchas gracias por la ayuda, utilice el comando file() y salio perfectamente.
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 00:49.