Bonjour,

J'ai un soucis avec mes includes et mes liens relatifs. Je souhaite faire uniquement des liens relatifs afin de faciliter le passage d'un domaine à un autre, pour par exemple une version prod et une version dev en local.

Voici un petit aperçu de la hiérarchie :

A la racine :
index.php
mes-realisations.php
header.php
footer.php

Dossier CSS :
style.css

Dossier mes réalisations :
real1.php
real2.php
real2.php

Dossier Images :
logo.png
favicon/png

Pour le index et toutes les pages en racine du projet, j'utilise simplement : include("header.php") et dans ce header.php, j'appelle le CSS <link rel="stylesheet" type="text/css" href="css/style.css">, et le logo <img src="img/logo.png" ....>. Jusqu'à ici, tout va bien !

Par contre, pour les sous-fichiers, par exemple "Réalisations", plus rien ne fonctionne. Je fais un include("../header.php"), donc le header.php est bien chargé, mais celui-ci ne charge pas correctement le CSS et les images car ceux-ci sont en "/img/logo.png" et non en "../img/logo.png". Mais si je fais ce changement, tout fonctionnera pour les sous-dossier mais plus pour les fichiers à la racine.

Je dois surement sauter une étape mais qui m'embête depuis presque 1 semaines. La seule solution pour moi est de mettre les liens en absolu, mais lors d'un passage en dev>prod et prod>dev, faire les changements est assez lourd.

Je vous remercie pour votre aide précieuse. Cela ne doit pas être si complexe mais je dois louper une étape et une information.

3 réponses


Mickael Christine
Réponse acceptée

Hello, pour dire que tu pars du dossier courant met un ./img, la tu met juste /img, si ça marche pas tente avec un dirname(/img/logo.png)

Hello, effectivement, j'ai remarqué mon erreur bête ^^ Je partais directement de "img/logo.png" et la solution était de faire "/img/logo.png".

Je te remercie pour la réponse :)

Bonsoir,
J'ai un peu le même soucis sauf que malgré vos réponses je n'arrive pas à m'y retrouver.

A la racine:
index.php

Dossier Menu:
menu.php

Dossier portefolio:
portefolio.php

Dossier fonctions:
auth.php

Dans chaque page je require mon menu.php qui construit mon menu du site.
Au sein du menu.php, j'ai ce require: require_once 'fonctions/auth.php';
Au démarrage sur l'index.php pas de soucis.
Pour toutes les pages sur la racine pas de soucis.

Par contre dès que je vais sur la page portefolio.php, j'ai une erreur sur mon require (Warning: require_once(fonctions/auth.php): failed to open stream: No such file or directory in C:\wamp64\www\JediDev\menu\menu.php on line 3).
Si je corrige mon require en ../fonctions/auth.php cela fonctionne sous portefolio mais plus de css et plus rien ne va avec les pages sur la racine.
j'ai beau essayer avec des dirname, rien ne va.
Je suis un peu paumé. Merci d'avance pour votre aide.
Christophe