Re: Re: Problems with matrix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Do you REALLY need all the values in one giant matrix at once?

You might be MUCH better off to read a single line, process it,
discard it, and move on to the next one.

Your webhost is probably wrong and you probably ARE running out of RAM
and/or running afoul of PHP's time_limit in php.ini

set_time_limit(60) inside the loop would fix the time limit thing.

Nothing you can do about the RAM thing, I don't think.

On Tue, August 28, 2007 10:58 pm, Felipe Alcacibar wrote:
> 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
>
>


-- 
Please vote for this great band:
http://acl.mp3.com/feature/soundandjury/?band=COMPANY-OF-THIEVES

Requires email confirmation.
One vote per day per email limit.
Obvious ballot-stuffing will be revoked.

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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux