Bonjour,

J'ai un fichier à plat, avec 5000 occurrences séparées par le symbole # avec des doublons.

Ex : toto#titi#titi#tata#titi#toto#tata#tutu#titi#toto#toto
Pour supprimer les doublons j'utilise la fonction : array_unique.

Cependant j’obtiens un timeout à 30s car le fichier est trop gros.

Savez vous comment faire pour optimiser le code pour que je parse le fichier sans timeout ?

Merci d'avance.

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
 
	//Ouverture du fichier en lecture seule
	$filename = './data/team.txt';
	$resultat = fopen($filename, 'r');
 
	//Si on a réussi à ouvrir le fichier
	if ($resultat)
	{
		//Tant que l'on est pas à la fin du fichier
		while (!feof($resultat))
		{
			$compteur++;
 
			//On lit la ligne courante
			$line= fgets($resultat);
 
			$recherche= explode("#", $line);
 
			$selected = ''; 
 
 
			foreach($recherche AS $cle => $valeur)
			{
 
				$uniqueArray = array_unique($recherche, SORT_REGULAR);
 
			}
 
		}
		//On ferme le fichier
		fclose($resultat);
	}