Bonjour à tous !

Je cherche à créer un compteur en PHP pour mon site web et bien que j'aie cherché un long moment, je n'y arrive toujours pas.
Je pense qu'il y a des erreurs dans la rédaction de mon code, mais je comprends pas trop, pas vraiment.
Voici donc le code que j'ai rédigé :

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
 
<?php
	//J'ai fait le choix de creer a la base des fichiers texte qui contiennent deja les valeurs.
	//Au debut, le fichier contenant le nombre de visites contient un nombre qui vaut zero, bien entendu.
	// Recuperation de l'adresse IP externe du visiteur :
				$IPvisiteur = $_SERVER["REMOTE_ADDR"];				
				echo '$IPvisiteur = '.$IPvisiteur ;
 
				//J'indique le chemin du fichier que je desire manipuler, ainsi que son nom, et je l'introduis dans la variable
				$fichierIPvisiteurs="/var/www/SiteWeb/compteur/IPvisiteurs.txt";
				echo ' $fichierIPvisiteurs = ' .$fichierIPvisiteurs;				
 
					// pour des informations sur l'utilisation de fopen
					/*
						'r' 	Ouvre en lecture seule, et place le pointeur de fichier au debut du fichier.
						'r+' 	Ouvre en lecture et ecriture, et place le pointeur de fichier au debut du fichier.
						'w' 	Ouvre en ecriture seule ; place le pointeur de fichier au debut du fichier et reduit la taille du fichier a* 0. Si le fichier n'existe pas, on tente de le creer.
						'w+' 	Ouvre en lecture et ecriture ; place le pointeur de fichier au debut du fichier et reduit la taille du fichier a* 0. Si le fichier n'existe pas, on tente de le creer.
						'a' 	Ouvre en ecriture seule ; place le pointeur de fichier a* la fin du fichier. Si le fichier n'existe pas, on tente de le creer.
						'a+' 	Ouvre en lecture et ecriture ; place le pointeur de fichier a* la fin du fichier. Si le fichier n'existe pas, on tente de le creer.
						'x' 	Cree et ouvre le fichier en ecriture seulement ; place le pointeur de fichier au debut du fichier. Si le fichier existe deja*, fopen() va echouer, en retournant FALSE et en generant une erreur de niveau E_WARNING. Si le fichier n'existe pas, fopen() tente de le creer. Ce mode est l'equivalent des options O_EXCL|O_CREAT pour l'appel systeme open(2) sous-jacent.
						'x+' 	Cree et ouvre le fichier pour lecture et ecriture; le comportement est le meme que pour 'x'.
						'c' 	Ouvre le fichier pour ecriture seulement. Si le fichier n'existe pas, il sera cree, s'il existe, il n'est pas tronque (contrairement a* 'w') et l'appel a* la fonction n'echoue pas (comme dans le cas de 'x'). Le pointeur du fichier est positionne au debut. Ce mode peut etre utile pour obtenir un verrou (voyez flock()) avant de tenter de modifier le fichier, utiliser 'w' pourrait tronquer le fichier avant d'obtenir le verrou (vous pouvez toujours tronquer grace Ã* ftruncate()).
						'c+' 	Ouvre le fichier pour lecture et ecriture, le comportement est le meme que pour le mode 'c'. 
					*/
 
				$saut_de_ligne = "\n";
				$tabulation= "\t";
 
				//J'indique les informations dans le fichier de details
				$date = date("d-m-Y");
				$heure = date("H:i");
 
				//Ouverture du fichiers dans lequel je vais inserer les details de connection
				$fichierDetailsIP = "/var/www/SiteWeb/compteur/DetailsIP_pageAccueil.txt";				
				echo ' $fichierDetailsIP = ' .$fichierDetailsIP;
				$ouverture_fichierDetailsIP_ecriture =fopen($fichierDetailsIP,"a");				
					//Si l'ouverture du fichier a echoue
					if (!$ouverture_fichierDetailsIP_ecriture)
					{
						echo " echec d'ouverture du fichier details ";
					}
					//Si l'ouverture du fichier a reussi
					if ($ouverture_fichierDetailsIP_ecriture)
					{
						echo " reussite d'ouverture du fichier details ";
						fwrite($ouverture_fichierDetailsIP_ecriture, $IPvisiteur);
							fwrite($ouverture_fichierDetailsIP_ecriture, $tabulation);
						fwrite($ouverture_fichierDetailsIP_ecriture, $date);
							fwrite($ouverture_fichierDetailsIP_ecriture, $tabulation);
						fwrite($ouverture_fichierDetailsIP_ecriture, $heure);	
							fwrite($ouverture_fichierDetailsIP_ecriture, $saut_de_ligne);
					}					
				fclose($ouverture_fichierDetailsIP_ecriture);
 
				//Je compte aussi les acces a la page d'accueil
				$fichierAccesPageAccueuil = "/var/www/SiteWeb/compteur/nombre_acces_page_accueil.txt";
				$ouverture_fichierAccesPageAccueuil_lecture_ecriture =fopen($ichierAccesPageAccueuil,"r+");
					if (!$ouverture_fichierAccesPageAccueuil_lecture_ecriture)
					{
						echo " echec d'ouverture du fichier nombre_acces_page_accueil ";
					}
					if ($ouverture_fichierAccesPageAccueuil_lecture_ecriture)
					{
						echo " reussite d'ouverture du fichier nombre_acces_page_accueil ";
					$AccesPageAccueil = fgets($ouverture_fichierAccesPageAccueuil_lecture_ecriture);
					$AccesPageAccueil = $AccesPageAccueil + 1;
					$ouverture_fichiervideAccesPageAccueuil_ecriture =fopen($ichierAccesPageAccueuil,"w");
						fwrite($ouverture_fichiervideAccesPageAccueuil_ecriture, $AccesPageAccueil);
					fclose($ouverture_fichiervideAccesPageAccueuil_ecriture);
					}
				fclose($ouverture_fichierAccesPageAccueuil_lecture_ecriture);
 
				//J'ai besoin que chaque ligne d'adresse IP soit unique
				//Il m'est necessaire que le fichier d'adresses IP ne contiennent pas de doublons ou plus
				//Normalement c'est le cas puisque le fichier est vide au debut
				//Le fichier est rempli par une nouvelle adresse IP lorsqu'elle n'est pas deja presente dedans					
				//J'associe l'ouverture du fichier a* $ouverture_fichierIPvisiteurs				
				//J'utilise l'option 'r' pour indiquer quel'ouverture du fichier n'est que dans un objectif de lecture
				$ouverture_fichierIPvisiteurs_lecture =fopen($fichierIPvisiteurs,"r");
				if (!$ouverture_fichierIPvisiteurs_lecture)
				{
					echo " echec d'ouverture du fichier fichierIPvisiteurs ";
				}
				if ($ouverture_fichierIPvisiteurs_lecture)
				{
					echo " reussite d'ouverture du fichier fichierIPvisiteurs ";
				}				
				//Je cree une variable qui aura pour objectif de comparer et verifier l'adresse IP du visiteur est deja
				//renseignee dans le fichier des adresses IP ou pas.
				//Si l'adresse IP n'est pas deja renseignee dans le fichier des adresses IP, c'est un nouveau visiteur
				//Il faudra donc augmenter le compteur de 1
				//Je pars du principe que l'adresse IP du visiteur n'est pour le moment pas renseignee dans le fichier 
				//d'adresses IP
				$IPdejapresente = 0;
				//Je lance ensuite l'analyse afin de verifier si l'adresse IP recuperee est bien nouvelle ou non
					// Si le fichier a pu etre ouvert (logiquement c'est le cas, puisque je l'ai deja cree au prealable dans ce but)
					if ($ouverture_fichierIPvisiteurs_lecture)
					{
						//Tant qu'on est pas arrive a* la fin du fichier
						while (!feof($ouverture_fichierIPvisiteurs_lecture))
						{
							//On lit la ligne courante
							$lignelue = fgets($ouverture_fichierIPvisiteurs_lecture);
							//Si la ligne lue possede deja l'adresse IP du visiteur actuel					
							if ($lignelue == $IPvisiteur)
							{
								//Je mets la valeur true a* la variable $IPdejapresente
								$IPdejapresente = 1;
							}
							//A l'inverse, si la ligne lue ne possede pas l'adresse IP du visiteur actuel, on ne fait rien
							//Et on passe a la ligne suivante en relancant la meme analyse
						}						
					}
				//Fermeture du fichier 
				fclose ($ouverture_fichierIPvisiteurs_lecture);			
 
				//Si $IPdejapresente vaut 1 on ne fait rien
				//Si $IPdejapresente vaut 0, alors il va falloir la rajouter au fichier d'adresses IP, et augmenter 
				//le compteur de 1				
				//Je commence par associer a des variables les ouvertures de fichier dont je vais avoir besoin
				$fichier_CompteurVisites="/var/www/SiteWeb/compteur/compteur_visites.txt";
				$ouverture_fichierCompteurVisites_lecture = fopen($fichier_CompteurVisites,"r");	
				$ouverture_fichierCompteurVisites_ecriture = fopen($fichier_CompteurVisites,"w");
				$ouverture_fichierIPvisiteurs_ecritureIPalafin = fopen($fichierIPvisiteurs,"a+");
				$nombre_visites = fgets($ouverture_fichierCompteurVisites_lecture);
				//Si l'adresse IP n'est pas presente dans la liste du fichier d'adresses IP
				if ($IPdejapresente == 0)
				{					
					// ETAPE 1 : Ajout de la nouvelle adresse IP au fichier										
					// Je saute une ligne apres avoir ouvert le fichier IP visiteurs
					fwrite($ouverture_fichierIPvisiteurs_ecritureIPalafin, $saut_de_ligne);
					// J'ajoute la nouvelle adresse Ip au fichier
					fwrite($ouverture_fichierIPvisiteurs_ecritureIPalafin, $IPvisiteur);					
 
					// ETAPE 2 : On augmente de 1 le nombre de visites
					// Je vais me servir du fichier texte compteur_visites.txt (a la base, il possedait la valeur 0 (zero)).					
					//Le fichier compteur_visites.txt ne comprend qu'une seule ligne, qui contient juste le nombre de visites recencees					
					$nombre_visites = $nombre_visites + 1 ;
					//Il faut ensuite mettre a jour le fichier qui contient le nombre de visites					
					fwrite($ouverture_fichierCompteurVisites_ecriture, $nombre_visites);					
				}
				//Affichage du nombre de visites
					echo $nombre_visites;
					echo " visites";				
				//Fermeture des fichier 
					fclose ($ouverture_fichierCompteurVisites_lecture );
					fclose ($ouverture_fichierCompteurVisites_ecriture);
					fclose ($ouverture_fichierIPvisiteurs_ecritureIPalafin);				
?>
Voila.
Lorsque j'exécute le code PHP, j'obtiens le message d'erreur suivant : "echec d'ouverture du fichier details ".
Je vois pas trop d’ou ca vient.
Avez-vous une ou plusieurs idées d'ou vient le problème ?