bonjour



j'ai un script php qui lit des (tres) gros fichiers texte.
Le pb est que du coup j'ai le message suivant :

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 963142068 bytes)

Bien qu'ayant augmenté la memoire dans le php.ini à 256 Mo !!!

y-a-t-il un moyen de limiter cela, car je n'utilise que les 50 dernieres lignes du fichier

Voilà le script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$lines = file ("/home/log/$rep/$file");
$dernieres_lignes = array_slice($lines, -50);
$monTableauInverse = array_reverse ($dernieres_lignes, true);
echo "<P align=center>";
echo "<TABLE bgColor=#ffd7ff border=1>";
echo "<TBODY>";
foreach ($monTableauInverse as $line) {
if ( strpos( $line , arning ) != 0 || strpos( $line , ritical ) !=0 )
{
$line1 = str_replace (array("info", "info"), "<span style='background-color:green;'>info</span>", $line);
$line2 = str_replace (array("warning", "Warning"), "<span style='background-color:gold;'>warning</span>", $line1);
$line3 = str_replace (array("critical","Critical"), "<span style='background-color:red;'>critical</span>", $line2);
        echo "<TD><TR>";
      echo $line3. "<br>";
        echo "</TD></TR>";
      }
      }
       ?>
       </TD></TR></TBODY></TABLE></P>
        </body></html>

Merci pour votre aide !!!!!!!!