Bonjour,

J'ai écrit une fonction qui permet de rechercher des lignes particulières dans un fichier texte.
Or, le fichier commence a être volumineux (13000 lignes pour le moment) et le temps de traitement est de plus en plus long.

Voici le code:
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
 
function interdit($file, $section, $etape)
{
		/*Ouvre le fichier et retourne un tableau contenant une ligne par élément*/
        $lines = file($file);
 
        /*On parcourt le tableau $lines et on affiche le contenu de chaque ligne précédée de son numéro*/
        foreach ($lines as $lineNumber => $lineContent)
        {				
            if ((substr($lineContent, 0, 1) != "#")) //on ne prend pas la lignes de commentaires
            {
                //on découpe la ligne
                $tab = preg_split("/;/", $lineContent);
                //si la section est dans une ligne du fichier            
                if(($tab[2].";".$tab[3]) == ($etape.";".$section))
                {
						$positionProduit = array_search($tab[1],  array_reverse($_SESSION['panier']['libelle'], true));
 
                        if ($positionProduit !== false)
                        {                                        
                                if($tab[0]==$_SESSION['panier']['etape'][$positionProduit])
                                {
                                        return true;	
                                }                                
                        }
                }
            }            
        }    
}
Avez-vous des suggestions pour optimiser le temps de traitement?

Merci

xavier