chemin relatif

ViPHP
ViPHP | 3607 Messages

02 févr. 2006, 16:58

bonjour à tous,
J'ai fait un petit module de statistiques en php:
<?php
$fichier=fopen("F:\\programs\\EasyPHP1-8\\www\\stats\\stat.txt",'r+');
$chaine=fread($fichier,20);
$taille=strlen($chaine);
if($taille==0){
	$chaine="0/0/0";
}
$prem=strpos($chaine,'/');
$sec=strpos($chaine,'/',$prem+1);
$nbrmozilla=substr($chaine,0,$prem);
$nbrie=substr($chaine,$prem+1,$sec-($prem+1));
$nbrautre=substr($chaine,$sec+1);
if (strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')!==FALSE){
	$nbrie=(int)$nbrie+1;
} elseif (strpos($_SERVER['HTTP_USER_AGENT'],'Firefox')!==FALSE){
	$nbrmozilla=(int)$nbrmozilla+1;
} else {
	$nbrautre=(int)$nbrautre+1;
}	
$chaine=$nbrmozilla."/".$nbrie."/".$nbrautre;
fseek($fichier,0);
fwrite($fichier,$chaine);
fclose($fichier);
?>
seulement, je n'arrive pas à mettre le chemin relatif pour mon fichier .txt, est-ce que qq pourrait m'aider?

Eléphanteau du PHP | 32 Messages

02 févr. 2006, 17:13

le chemin exacte de ton script est quoi?
si c'est par exemple, c'est :
F:\programs\EasyPHP1-8\www\stats\stat.php
le chemin relatif devien directement "stat.txt".

Mammouth du PHP | 768 Messages

02 févr. 2006, 19:13

si c'est par exemple, c'est :
[-X

Sous Windows, assurez-vous de bien protéger les anti-slash utilisés dans le chemin du fichier, ou bien utilisez des slash. Exemple 2. Exemple avec fopen() sous Windows
<?php // DOC PHP
$handle = fopen("c:\\data\\info.txt", "r");
?>  
teste l'existance du fichier avant pour être sûr de ton coup
<?php
$fichier = "F:\\programs\\EasyPHP1-8\\www\\stats\\stat.txt";
if ( file_exists($fichier) ){

   $fichier = fopen($fichier,'r+') or die("IMPOSSIBLE D'OUVRIR ".$fichier);
   // le reste du script
}
else
{
   die("LE FICHIER ".$fichier." EST INTROUVABLE");
}
?>
 
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

02 févr. 2006, 22:47

seulement, je n'arrive pas à mettre le chemin relatif pour mon fichier .txt, est-ce que qq pourrait m'aider?
à quel niveau se trouve le script par rapport au fichier texte ?

si les 2 fichiers se trouvent dans le même dossier alors tu peux effectivement utiliser:
$fichier=fopen("stat.txt",'r+'); 
s'ils se trouvent dans 2 dossier différents, par exemple le .txt un niveau plus bas que le script alors:
$fichier=fopen("dossier_plus_bas/stat.txt",'r+'); 
et inversement, un niveau plus haut:
$fichier=fopen("../stat.txt",'r+'); 
../ permet de remonter l'arborescence des dossiers.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 3607 Messages

03 févr. 2006, 15:10

merci beaucoup pour les réponses je venais juste demander pour aller vers un dossier plus heut et la réponse était déja là... :D
merci
tout fonctionne (en tout cas au niveau des chemins relatifs :wink: )