Fatal error: Allowed memory size
Bonjour, lorsque je lance mon script php, j'ai droit à cette erreur : Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes)
voici le code complet :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| <?php
$fm = fopen("membres.txt" , "rb");
$nbmembres = 1;
while(!feof($fm)) {//récupérer les noms des membres et leur nombre ( variable $nommembre )
$nommembre[$nbmembres] = fgets($fm);
$nbmembres++;
}
fclose($fm);
$nbmembres = $nbmembres - 1;
$l=1;
$m=1;
for($id = 1 ; $id <= $nbmembres ; $id++ ){ //nettoyage de la variable $nommembre
$nommembre[$id] = preg_replace('/\s/', '',$nommembre[$id]);
}
echo "<br />";
for($id = 1 ; $id <= $nbmembres ; $id++ ) { //récupère les infos des membres ( variable $infos )
$nomfichiero=$nomfichier=$nommembre[$id];
$nomfichiero.="o.txt";
$nomfichier.=".txt";
$fm = fopen($nomfichier , "rb");
$fo = fopen($nomfichiero, "rb");
$d=$l;
$f=$l+2 ;
for($l = $d ; $l <= $f ; $l++) { //on récupère les infos actuelles
$infos[$l] = fgets($fm);
}
$i=$m;
$e=$m+2 ;
for($i = $m ; $i <= $e ; $m++) { //on récupère les anciennes infos
$infoso[$m] = fgets($fo);
}
fclose($fm);
fclose($fo);
}
for($id = 1 ; $id <= $f ; $id++ ){ //nettoyage de la variable $infos
$infos[$id] = preg_replace('/\s/', '',$infos[$id]);
}
echo "<br />";
for($ido = 1 ; $ido <= $e ; $ido++ ){ //nettoyage de la variable $infoso
$infoso[$ido] = preg_replace('/\s/', '',$infoso[$ido]);
}
echo "<br />";
foreach ($nommembre as $numLine => $text) {
echo "Membre numéro " . $numLine . " : " . $text . "<br/>";
}
foreach ($infos as $numLine => $text) {
echo "info numéro " . $numLine . " : " . $text . "<br/>";
}
?> |
comment corriger ce problème ?
note :
Les fichiers que j'ouvre font tous moins de 1 Ko (le plus gros fait 16 octets)
il y a en tout 5 fichiers pour un poids total de 73 octets
le script fait 2565 octets