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 :
comment corriger ce problème ?
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
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/>"; } ?>
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
Partager