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($fp, 1024*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($fp, 1024*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>";
}
Código PHP:
set_time_limit(1000);
$fp = fopen($archivo,'r');
$contenido = '';
$aux = '';
for($h=0; $h<2; $h++)
{
$contenido .= fread($fp, 1024*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;
}
Nau