probleme d'include , de sous repertoire, ../ de chemin... / besoin de conseil
1 réponse
nat
bonjour,
j'ai reussi a construire la structure de mon site avec header et footer.
mais maintenant pour une rub j'ai besoin de creer un sous-repertoire et je
me retrouve avec des problemes de chemin (les include etc)... et la j'ai du
mal a comprendre.
les includes sont dans
include/header.php (contient le sommaire et une image en haut)
include/footer.php
image dans header :
img/haut.jpg ("img" dossier a la racine du site)
include("../../include/header.php");
et
include("../../include/footer.php");
lorsque j'affiche index.php, le sommaire s'affiche mais pas l'image du haut,
et les liens dans le sommaire ne sont plus corrects car ils prennent comme
base la dossier "videos"...
de meme pour l'image du haut (presente dans header.php)
j'ai effectue etape par etape en partant de la racine, et une fois arrive a
au moins 1 sous repertoire cela ne fonctionne plus.
je vous remercie d'avance pour vos conseils
car je cherche aussi a comprendre pourquoi cela ne fonctionne plus ou pas...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bruno Desthuilliers
bonjour,
j'ai reussi a construire la structure de mon site avec header et footer.
mais maintenant pour une rub j'ai besoin de creer un sous-repertoire et je me retrouve avec des problemes de chemin (les include etc)... et la j'ai du mal a comprendre.
les includes sont dans include/header.php (contient le sommaire et une image en haut) include/footer.php
Et ton include_path ?
NB : tu peux le savoir avec get_include_path() ou ini_get('include_path').
BTW, tu peux te faire une page toute simple:
# phpinfo.php <?php phpinfo(); ?>
pour tout savoir sur ta configuration...
image dans header : img/haut.jpg ("img" dossier a la racine du site)
Si tu codes ton chemin comme ça, le dossier sera recherché relativement au répertoire en cours, pas au répertoir racine. Essaye avec '/img/haut.jpg'.
include("../../include/header.php"); et include("../../include/footer.php");
Si le répertoire /chemin/complet/vers/ton/espace/personnel/include est dans ton include_path, vire les '../..'. (-> include "/include/header.php")
lorsque j'affiche index.php, le sommaire s'affiche mais pas l'image du haut,
Normal, tu donnes un chemin relatif au répertoire en cours. Quand tu "inclus" un fichier, c'esst *vraiment* une inclusion - c'est exactement comme si tu copiais-collais le contenu du fichier inclus... donc tous les chemins relatifs sont résolus par rapport au répertoire courant - pas par rapport au répertoire contenu le fichier inclus.
Note que pour les urls, donner le chemin à partir de la racine de ton site (cf l'exemple pour /img/xxx.gif) suffit. Pour accéder à des fichiers depuis le code php, il faut connaitre le chemin *réel*, soit relativement au répertoire en cours (celui dans lequel se trouve le script appelé), soit à partir de la racine du système de fichier, que tu peux déduire de $_SERVER["PATH_TRANSLATED"].
et les liens dans le sommaire ne sont plus corrects car ils prennent comme base la dossier "videos"...
Même motif, même punition.
bonjour,
j'ai reussi a construire la structure de mon site avec header et footer.
mais maintenant pour une rub j'ai besoin de creer un sous-repertoire et je
me retrouve avec des problemes de chemin (les include etc)... et la j'ai du
mal a comprendre.
les includes sont dans
include/header.php (contient le sommaire et une image en haut)
include/footer.php
Et ton include_path ?
NB : tu peux le savoir avec get_include_path() ou ini_get('include_path').
BTW, tu peux te faire une page toute simple:
# phpinfo.php
<?php
phpinfo();
?>
pour tout savoir sur ta configuration...
image dans header :
img/haut.jpg ("img" dossier a la racine du site)
Si tu codes ton chemin comme ça, le dossier sera recherché relativement
au répertoire en cours, pas au répertoir racine. Essaye avec
'/img/haut.jpg'.
include("../../include/header.php");
et
include("../../include/footer.php");
Si le répertoire /chemin/complet/vers/ton/espace/personnel/include est
dans ton include_path, vire les '../..'.
(-> include "/include/header.php")
lorsque j'affiche index.php, le sommaire s'affiche mais pas l'image du haut,
Normal, tu donnes un chemin relatif au répertoire en cours. Quand tu
"inclus" un fichier, c'esst *vraiment* une inclusion - c'est exactement
comme si tu copiais-collais le contenu du fichier inclus... donc tous
les chemins relatifs sont résolus par rapport au répertoire courant -
pas par rapport au répertoire contenu le fichier inclus.
Note que pour les urls, donner le chemin à partir de la racine de ton
site (cf l'exemple pour /img/xxx.gif) suffit. Pour accéder à des
fichiers depuis le code php, il faut connaitre le chemin *réel*, soit
relativement au répertoire en cours (celui dans lequel se trouve le
script appelé), soit à partir de la racine du système de fichier, que tu
peux déduire de $_SERVER["PATH_TRANSLATED"].
et les liens dans le sommaire ne sont plus corrects car ils prennent comme
base la dossier "videos"...
j'ai reussi a construire la structure de mon site avec header et footer.
mais maintenant pour une rub j'ai besoin de creer un sous-repertoire et je me retrouve avec des problemes de chemin (les include etc)... et la j'ai du mal a comprendre.
les includes sont dans include/header.php (contient le sommaire et une image en haut) include/footer.php
Et ton include_path ?
NB : tu peux le savoir avec get_include_path() ou ini_get('include_path').
BTW, tu peux te faire une page toute simple:
# phpinfo.php <?php phpinfo(); ?>
pour tout savoir sur ta configuration...
image dans header : img/haut.jpg ("img" dossier a la racine du site)
Si tu codes ton chemin comme ça, le dossier sera recherché relativement au répertoire en cours, pas au répertoir racine. Essaye avec '/img/haut.jpg'.
include("../../include/header.php"); et include("../../include/footer.php");
Si le répertoire /chemin/complet/vers/ton/espace/personnel/include est dans ton include_path, vire les '../..'. (-> include "/include/header.php")
lorsque j'affiche index.php, le sommaire s'affiche mais pas l'image du haut,
Normal, tu donnes un chemin relatif au répertoire en cours. Quand tu "inclus" un fichier, c'esst *vraiment* une inclusion - c'est exactement comme si tu copiais-collais le contenu du fichier inclus... donc tous les chemins relatifs sont résolus par rapport au répertoire courant - pas par rapport au répertoire contenu le fichier inclus.
Note que pour les urls, donner le chemin à partir de la racine de ton site (cf l'exemple pour /img/xxx.gif) suffit. Pour accéder à des fichiers depuis le code php, il faut connaitre le chemin *réel*, soit relativement au répertoire en cours (celui dans lequel se trouve le script appelé), soit à partir de la racine du système de fichier, que tu peux déduire de $_SERVER["PATH_TRANSLATED"].
et les liens dans le sommaire ne sont plus corrects car ils prennent comme base la dossier "videos"...