Chemin relatif

Fermé
ShinSetsuNFé Messages postés 4 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 8 septembre 2011 - 7 sept. 2011 à 14:40
ShinSetsuNFé Messages postés 4 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 8 septembre 2011 - 7 sept. 2011 à 21:32
Bonjour.

Je suis novice en matière de site internet, et j'ai un problème de chemin relatif dans un fichier de sous-dossier comportant un include de fichier en racine. c'est à dire :

index.php
header.php
CSS
.......... index.css
..........header.css
IMAGES
..........entete.png
ALBUM
..........ADHESIFS
....................index_adhesifs.php
....................IMGS
..............................img1.jpg
..............................img2.jpg
..............................img3.jpg


index_adhésifs.php comporte :
- une include : <?php include '../../header.php'; ?>

header.php comporte
- un lien stylesheet : href="css/header.css"
- une image reliée au fichier index.php : <a href="index.php" ><img src="images/entete.png" width="1200px" height="280px"/></a>

Lorsque je vais sur index_adhesifs.php, celui-ci trouve bien le fichier header.php puisque je ne n'ai plus de message d'erreur, cependant, index_adhesifs.php ne trouve pas les éléments qui sont dans le fichier header, comme si index_adhesifs reprenait les chemins relatifs à son niveau à savoir le dossier ADHESIFS et non la racine du site.

Pouvez-vous m'aider à trouver une solution s'il-vous-plait. Merci d'avance.


2 réponses

Bonjour

En PHP, les chemins relatifs sont relatifs au script qui s'exécute, c'est à dire au fichier correspondant à la page appelée. Quand tu appelles la page index_adhesifs.php , tous les chemins relatifs le sont par rapport au dossier qui contient index_adhesifs.php, Même pendant l'exécution des include : la racine est définie au début de l'exécution du script et reste la même pendant toute l'exécution.
La même remarque s'applique aux url, (href) d'ailleurs.
Pour les chemins relatifs, dans un fichier inclus qui peut être appelé depuis plusieurs dossiers différents, le problème est facile à contourner par exemple en utilisant $_SERVER['DOCUMENT_ROOT'] pour toujours utiliser des chemins par rapport à la racine des documents du site
Pour les url, il suffit de les faire commencer par / et elles deviennent relatives à la racine du site, quelque soit la page depuis laquelle on les appelle
1
ShinSetsuNFé Messages postés 4 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 8 septembre 2011
7 sept. 2011 à 21:32
Merci beaucoup pour ta réponse, et ça Marche ! :)
0