Chemin des images dans un Header en php
Mnu
-
Mnu -
Mnu -
Bonjour,
Voilà, mon site est conçu de la manière suivante: chaque page a un fichier Header.php et Footer.php que j'insère avec include (classique, je crois).
Le problème, c'est que les chemins des images semblent être relatifs au fichier qui appelle Header.php et non à Header.php lui-même. Or, comme il y a plusieurs niveaux de répertoires dans mon site, les images ne s'affichent pas correctement (et le pb est le même pour les liens).
Pouvez-vous m'aider ?
Merci
Mnu
Voilà, mon site est conçu de la manière suivante: chaque page a un fichier Header.php et Footer.php que j'insère avec include (classique, je crois).
Le problème, c'est que les chemins des images semblent être relatifs au fichier qui appelle Header.php et non à Header.php lui-même. Or, comme il y a plusieurs niveaux de répertoires dans mon site, les images ne s'affichent pas correctement (et le pb est le même pour les liens).
Pouvez-vous m'aider ?
Merci
Mnu
A voir également:
- Chemin des images dans un Header en php
- Des images - Guide
- Easy php - Télécharger - Divers Web & Internet
- Images enregistrées - Forum Blender
- Gpt header corruption ✓ - Forum Windows 10
- Extraire les images d'un pdf - Guide
1 réponse
Effectivement le contenu du Header.php est copié dans le fichier en cours donc n'a pas du tout la même arborescence.
Il faut donc que tu utilises le chemin absolu des images.
Ex : /images/img.gif
De même pour les fichiers include eux même, sauf que leur racine n'est pas la même que les images. Pour les images, il faut utiliser la racine web alors que pour les include on utilise la racine du HD serveur (root).
Pour simplifier ça, tu peux utiliser ceci :
include($_SERVER["DOCUMENT_ROOT"]."/inc/header.php");
DOCUMENT_ROOT correspond à la racine web, la même que les images.
Il faut donc que tu utilises le chemin absolu des images.
Ex : /images/img.gif
De même pour les fichiers include eux même, sauf que leur racine n'est pas la même que les images. Pour les images, il faut utiliser la racine web alors que pour les include on utilise la racine du HD serveur (root).
Pour simplifier ça, tu peux utiliser ceci :
include($_SERVER["DOCUMENT_ROOT"]."/inc/header.php");
DOCUMENT_ROOT correspond à la racine web, la même que les images.
J'ai pas bien compris la différence entre les 2... et surtout, je vois pas concrètement où je dois placer les fichiers php en local pour que ça marche (j'utilise EasyPHP). Et puis comment ça va se passer quand je vais le mettre chez mon hebergeur (Free, en l'occurrence)... C'est un peu fouilli, quoi...
Je ne demandes pas de tout m'expliquer en détail, mais juste si vous connaissez un bon tutorial ou un bon cours la dessus... ou l'idéal, ce serait d'acceder aux sources d'un site, juste pour l'exemple...
Merci bcp.
Mnu