Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/07/2007, 12:18
naujgf
 
Fecha de Ingreso: abril-2007
Mensajes: 101
Antigüedad: 16 años, 11 meses
Puntos: 0
Exclamación Problema con un Script

Hola buenas tardes,

Tengo un problema con un Script que cree, su función es que lea un archivo .txt y me separe por cada línea y me imprima los elementos que están allí en el archivo, si al final de la lectura, quedaron elementos pertenecientes a una línea incompleta, debería almacenarlo y concatenarlo a la siguiente lectura...

Realmente no tengo idea de que le esta pasando, les copio el código que funciona perfectamente y el que no, para que le echen un ojo y me ayuden cualquier error que observen...

Código que funciona:
Código PHP:
    set_time_limit(1000);
    
$fp fopen($archivo,'r');
    
$contenido '';
    
$aux '';                    
    
$contenido .= fread($fp1024*1024*2);
    
$arreglo explode("\n"$contenido);
    
$lineas count($arreglo);
    for(
$i=0$i<$lineas$i++)
    {
        if (
$i == $lineas-1)
        {
            unset(
$aux);
            
$aux $arreglo[$i];
        }
        else
        {            
            echo 
"Línea ".$i."<br>";
            
$elementos split("{"$arreglo[$i]);
            
$cantidad count($elementos);
            for(
$j=0$j<$cantidad$j++)
                echo 
"Elemento ".$j."= ".trim($elementos[$j])."<br>";
            echo 
"Fin de línea ".$i."<br><br>";
        }
    }
    unset(
$contenido);
    
$contenido $aux;
                
    
$contenido .=fread($fp1024*1024*2);
    
$arreglo explode("\n"$contenido);
    
$lineas count($arreglo);
    for(
$i=0$i<$lineas$i++)
    {
        
$elementos split("{",$arreglo[$i]);
        
$cantidad count($elementos);
        echo 
"Linea ".$i."<br>";
        for(
$j=0$j<$cantidad$j++)
            echo 
"Elemento ".$j."= ".trim($elementos[$j])."<br>";
        echo 
"Fin de línea ".$i."<br><br>";
    } 
Como se pueden dar cuenta, ese código es ineficiente porque repite lineas de código... pero si introduzco las lineas que deberían repetirse dentro de un bucle, el Script no funciona... Se cuelga el proceso (como si el bucle nunca terminara ?????? es un for...) y me toca cerrar la página... Aquí les copio el código:

Código PHP:
set_time_limit(1000);
$fp fopen($archivo,'r');
$contenido '';
$aux '';
for(
$h=0$h<2$h++)
{                    
    
$contenido .= fread($fp1024*1024*2);
    
$arreglo explode("\n"$contenido);
    
$lineas count($arreglo);
    for(
$i=0$i<$lineas$i++)
    {
        if (
$i == $lineas-1)
        {
            unset(
$aux);
            
$aux $arreglo[$i];
        }
        else
        {
            echo 
"Línea ".$i."<br>";
            
$elementos split("{"$arreglo[$i]);
            
$cantidad count($elementos);
            for(
$j=0$j<$cantidad$j++)
                echo 
"Elemento ".$j."= ".trim($elementos[$j])."<br>";
            echo 
"Fin de línea ".$i."<br><br>";
        }
    }
    unset(
$contenido);
    
$contenido $aux;

Muchas gracias de antemano,

Nau