Récupérer le chemin relatif du script

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 824 fois - Téléchargée 30 fois

Contenu du snippet

Cette fonction permet de revenir à la racine du site pour y atteindre d'autres répertoires.

Source / Exemple :


function chemin()
	{
		$a=$_SERVER['PHP_SELF'];
		$b=strrev($a);
		$c=strpos($b,'/');
		$d=substr($b,$c,strlen($b)-$c);
		$e=strrev($d);
		$f=substr_count($e,'/')-1;
		$g='';
		for ($i=0;$i<$f;$i++)
			$g.='../';
		return $g;
	}

Conclusion :


exemple :

$pth=chemin();

include $pth.'include/monfichier.php';

A++

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
18 septembre 2009

Merci cette fonction m'a sauvé la vie !
j'utilise xajax et pour fixer un bug j'ai du utiliser ta méthode, car je ne peux pas utiliser DOCUMENT ROOT. Toutefois, j'utilise URL REWRITING, donc j'ai du faire une correction:

function chemin()
{
#$a=$_SERVER['PHP_SELF'];
$a=$_SERVER['REQUEST_URI']; // Pour corriger le bug si URL REWRITING
$b=strrev($a);
$c=strpos($b,'/');
$d=substr($b,$c,strlen($b)-$c);
$e=strrev($d);
$f=substr_count($e,'/')-1;
$g='';
for ($i=0;$i<$f;$i++)
$g.='../';
return $g;
}
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
$_SERVER['DOCUMENT_ROOT'] renvoie tjrs (quand le serveur est configure pour renvoyer cette valeur evidemment) le root du document (donc du site), aucun rapport avec les include() que tu peux avoir.
__FILE__ doit de toutes facons etre parsee. Mais oui cette constante est tres utile :-)
Messages postés
97
Date d'inscription
lundi 26 novembre 2001
Statut
Membre
Dernière intervention
24 février 2012

Et bin !
je ne pensais pas suciter un tel débat avec cette source !!:-)

PhpCS is alive :p
Messages postés
113
Date d'inscription
vendredi 16 août 2002
Statut
Modérateur
Dernière intervention
15 mai 2005

Sinon, il est possible d'utiliser des PATHS absolus afin de lever tte ambiguité. De plus, $_SERVER contient des données sur le script d'appel or dans un include... ce n'est pas forcémment le bon chemin !

Il existe une constante "magique" qui permet d'obtenir le path absolu d'un fichier, meme dans un fichier inclus : __FILE__

De plus, associé à la fonction dirname(), ceci constitue un très bon moyen de définir un path de base ds un fichier de configuration par exemple...

Exemple : même structure de site, memes fichiers de base mais configurations différentes (notamment en matière de PATHs :)) :
http://cyrille2.free.fr/
http://cyrille2.free.fr/inshat/ (en cours)
http://cyrille2.free.fr/exetron/ (en cours aussi)
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Sinon, si ton but est de revenir au root de ton site, tu as cette variable :
$_SERVER['HTTP_HOST']
Afficher les 14 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.