Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/10/2003, 08:41
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. aclarar que la lectura de un archivo es secuencial .. DESDE que empieza hasta que termina (EOF) o bien hasta los bytes que indiques.

fgets() obtiene cada \n (línea) y te lo entrega...

Usa condicionales y bucles for() .. de todas formas has de leer el archivo secuencialmente una vez para decidir si existen esas cadenas en el archivo y otra para procesarlo si existen ..así que, mejor hazlo todo en una pasada ..

Código PHP:
<?
$handle 
fopen ("inputfile.txt""r");
while (!
feof ($handle)) {
     
// lees linea a linea tu archivo ..
    
$z fgets($handle4096);

    
// miras su valor ..
    
if ($z=="OK" or $z=="ERROR"){
       
// si encontró OK o ERROR .. sales del bucle (terminas de leer el archivo) y de paso borras de memora tu variable $z
       
unset ($z);
       break;
    } else {
       
// contatenas todo en tu variable .. Son strings (para PHP) así que usa el . (punto) si fuese cosa de "sumatorio" usa + en lugar de .
       
$z .= $z// ¿y .. lo quieres todo junto ..o con algún separador? ..
    
}
 }
fclose ($handle);
?>
Ahora otro detalle .. la función file() lee un archivo y mete su contendio en indices de un array .. siendo cada valor de cada indice una línea de tu archivo (entendiendose como línea a cada \n salto de líena que exista) ..

Por ende .. si file() ya te guarda el archivo en un array .. si quieres ver si tiene un indice de valor "OK" o "ERROR" ..sería cosa de:

Código PHP:
<?
// leer el archivo hacia un array...
$datos_lineas file ('archivo.txt');

// si está ese valor(es) en el array .. termino y elimino la variable (array) del archivo ..
if (in_array($datos_lineas,"OK") or in_array($datos_lineas,"ERROR")){
   unset 
$datos_lineas;
} else {
    
// sino, los concateno (el array sus valore) sobre un string (cadena) con el separador que quiera ... puede ser '' y así no usaría separador ..
   
$datos implode ('separador'$datos_lineas);
}

echo 
$datos;
?>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.