Andres Rojas wrote:
Hi all,

I'm new in PHP programming and I have a problem with this script. I need
to read a large file around 2Mb and several lines (28000). All start Ok,
but suddenly the script stop without message error.

<?php
        $fichero="62007lg.txt";
    $buffer = file($fichero);
    $lineas = count($buffer);

   foreach($buffer as $linea){
        
    list($day, $month, $year, $hour, $min, $temp, $hum, $dew, $baro,
$wind, $gust, $wdir, $rlastm, $rdai, $rmon, $ryear,
$heat)=sscanf($linea,"%d %d %d %d %d %f %d %f %f %d %d %d %f %f %f %f %f \n");

        $mday[]=$day;
        $mmonth[]=$month;
$myear[]=$year; $mhour[]=$hour;
        $mmin[]=$min;
        $mtemp[]=$temp;
        $mhum[]=$hum;
        $mdew[]=$dew;
        $mbaro[]=$baro;
        $mwind[]=$wind;
        $mgust[]=$gust;
        $mwdir[]=$wdir;
        $mrlastm[]=$rlastm;
        $mdai[]=$rdai;
        $mrmon[]=$rmon;
        $mryear[]=$ryear;
        $mheat[]=$heat;
        echo"$day $month $year $hour $min $temp $hum $dew $baro $wind $gust
$wdir $rlastm $rdai $rmon $ryear $heat <br>";
        }
?>

If only I print the variable $buffer all it's ok, but when I try to fill
all the matrix the script doesn't work. If I reduce the number of matrix
only a 3 o 4 it's Ok, but If I increase number of this matrix the script
crash again.

Perhaps it's a problem of memory of server, but my  service provider say
me that this is not the problem.


Thank you very much

Andres:

The info is too poor to see what is wrong, maybe you need to review a error_reporting() php function, o error_reporting php.ini variable i send you some code:

<?php
   error_reporting(E_ALL);

    $fichero="62007lg.txt";
    $buffer = file($fichero);
    $lineas = count($buffer);

   foreach($buffer as $linea){

            $data = preg_split("/\s+/", trim($linea));
// trim removes all white spaces at the end and the beginning of the string.
            $k = 0;
            foreach(array(
                                'mday', 'mmonth',
                                'myear', 'mhour',
                                'mtemp',  'mhum',
                                'mdew', 'mbaro',
                                'mwind', 'mgust',
                                'mwdir',  'mrlastm',
                                'mrdai', 'mrmon',
                                'mryear', 'mheat' ) as $var )
            {
                if(!isset($$var)) $$var = array();
                array_push($$var, $data[$k]);
                echo $var." => ".$data[$k];
                $k++;
            }   

   }
?>
                
cheers!!

Felipe Alcacibar

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to