PHP - Archivo de texto

 
Vista:

Archivo de texto

Publicado por Alberto (32 intervenciones) el 26/02/2007 23:02:34
Hola amigos... estoy leyendo un archivo de texto en forma secuencial, para mostrar unos datos contenidos en él, el problema es que hay determinados registros del archivo que no me los lee, por ejemplo, me lee el registro 56 y 58 pero el 57 no, he revisado bien el archivo de texto y todo esta bien, que puede estar pasando ??

estoy usando php 5.0.4

Les agradezco su ayuda, gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Archivo de texto

Publicado por Manuel (12 intervenciones) el 27/02/2007 01:00:41
que codigo estas usando?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Archivo de texto

Publicado por Carlos Guimaraenz (74 intervenciones) el 27/02/2007 04:13:10
Hola Alberto! Fíjate que no tengas caracteres de salto de línea, por ejemplo, en el archivo... éste puede ser un error común, muy fácil de resolver, pero que a simple vista puede resultar en un lindo dolor de cabeza...

Un abrazo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Archivo de texto

Publicado por Alberto (32 intervenciones) el 27/02/2007 13:13:31
He revisado bien el archivo y está bien, hasta he escrito a mano el registro que no lee para descartar saltos de línea pero no me soluciona nada. este es el código que estoy utilizando:

function buscar($archivo,$nombre)
{
//Abrir el archivo en modo lectura
$fp = fopen($archivo,"r");
//Leer linea por linea el contenido del archivo
while ($linea = fgets($fp,1024))
{
$vector = split(";", $linea);
// Si encuentra el nombre retorna
if ($vector[0] == $nombre) {
fclose($fp);
return $vector;
}
}
fclose($fp);
return;
}

Gracias de nuevo por sus sugerencias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

RE:Archivo de texto

Publicado por Yamil Bracho (888 intervenciones) el 27/02/2007 13:57:14
Puedes mostrar algun ejemplo de la data en el archivo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Archivo de texto

Publicado por Alberto (32 intervenciones) el 27/02/2007 15:19:01
Hola Yamil, estos son cuatro registros del archivo con los datos:

3300746;MOLANO ROBERTO; SERVICIO TRANSPORT.DE CARGA;1.00;10737000.00;107370.00
5391609;RODRIGUEZ AVILES LUIS ERNESTO; SERVICIO TRANSPORT.DE CARGA;1.00;1059870.00;10598.70
5426900;MENDOZA A REYNALDO; SERVICIO TRANSPORT.DE CARGA;1.00;519750.00;5197.50
5107045;CELIS CARDENAS MAURICIO; SERVICIO TRANSPORT.DE CARGA;1.00;505750.00;5057.50

Son cuatro registros, uno por renglon, por efectos de espacio en este foro se divide cada registro. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Archivo de texto

Publicado por Manuel (12 intervenciones) el 27/02/2007 18:15:36
Pues a simple vista parece estar todo bien, no se si te sirva de algo pero cuando yo hago comparaciones en cadenas a cada una le pongo un trim para eliminarle cualquier espacio que se halla podido ir, tal vez por ahi se te estan colando espacios sea al inicio o al final y por eso la comparacion no funciona y no te da los valores que quieres, tal vez....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

RE:Archivo de texto

Publicado por Yamil Bracho (888 intervenciones) el 27/02/2007 19:44:30
Si, puede ser lo que dice Manuel. Prueba con

$vector = split(";", $linea);
// Si encuentra el nombre retorna
echo $vector[0] . "<br>;
if ($vector[0] == $nombre) {
fclose($fp);
return $vector;

y hazle un trim a $vector[0]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar