bonjour a tous,

j'avais prévenu que je reviendrai :D

bon plus sérieusement

voici le répertoire de mon site sur le ftp

donc tous ce qui se trouve dans le répertoire site dépend du même domaines, pas de pièges avec des sous domaines.

donc pour faire simple

index.php principal se trouve à cette adresse http://www.mondomaine/index.php ou http://www.mondomaine

mon css quand à lui est à cette adresse http://www.mondomaine/css/style.css

Dans mon index je vais charger des pages ( via un simple include pour le moment ) qui se trouvent à cette adresse

http://www.mondomaine/tools/tools1/tools1.php
http://www.mondomaine/tools/tools2/tools2.php
http://www.mondomaine/tools/tools3/tools3.php
http://www.mondomaine/tools/tools4/tools4.php

donc mon fichier index.php principale ressemble à ça

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" href="./css/style.css" type="text/css" media="screen"/>
        <title>Site FFS2 2</title>
        </head>
<body>
<?php
    include './tools/tools1/tools1.php';
?>
<?php
    include './tools/tools2/tools2.php';
?>
<div class="page">
    <div class="conteneurcent">
        <div class="conteneurcent2">
            <?php
            include './tools/tools3/tools3.php'
            ?>
        </div>
        <div class="conteneurcent2">
            <?php
            include './tools/tools4/tools4.php'
            ?>
        </div>
        </div>
</div>

le soucis c'est que quand je dois pointer un élément image par exemple je dois lui coller l'adresse en dur http://www.mondomaine/image/image.jpg

donc si je test sur un domaine 2 et que je le déplace sur domaine 1 je dois me refarcir toute les adresses écrite en dure.

Es ce que serveur path est la solution?

Genre dans mon index j'inclus un un php avec qui contient $_SERVER'PATH_INFO'].

Je ne sais pas si j'ai été clair?

Si je me suis pal exprimé, n'hésitez pas à le dire.

merci d'avance flo.

3 réponses


flo3376
Auteur
Réponse acceptée

j'ai trouvé en regardant certain de mes site

avec $_SERVER"DOCUMENT_ROOT"].

ça me permet de de pouvoir déplacer sans prb mes site

include ($_SERVER"DOCUMENT_ROOT"].'/config/bdall.php');

Tu as un problème avec tes liens relatifs.

Comme pour ton CSS tu met './css/style.css', certes ça marche avec l'index, car il vas chercher un dossier css dans le même dossier que lui et il trouvera, mais si par exemple tu essayes dans un autre dossier, il trouvera pas car dans ce dossier il n'y aura pas de dossier css, compris?

Pour faire simple:

Juste '/' ça sera le chemin à partir de la racine, donc pour avoir tes images tu dois faire '/images/tonimage.jpg'

'./' ou rien, c'est pour chercher dans le même répertoire, exemple si tu es dans le dossier CSS et que tu met un lien du style './style.css' ou 'style.css', il pointera vers ta feuille de style, mais si tu te trouve à la racine, il pointera sur rien car pour ton serveur il n'existe pas de fichier 'style.css' à la racine

Enfin le '../' c'est pour revenir un dossier avant, si par exemple tu te trouve dans 'tool' il arrivera dans la racine, si tu te trouve dans 'mondossier2' qui lui même et dans 'mondossier1' alors le lien pointera vers 'mondossier1' et non la racine.

J'espère avoir été clair, donc met tout tes liens par rapport à la racine, ça évite pas mal d'erreur quand tu déplaces un fichier, ou que tu appelles un fichier dans un autre.

Récap:
/ => Racine
./ ou rien => Dossier actuel
../ => Dossier au dessus

Moi j'aurais fais un dossier 'commons' à la racine dans lequel je mettrais tous les fichiers communs. Avec un fichier htaccess, je bloque l'affichage des ressources en entrant l'url. Et ensuite je me crée un fichier php de configuration avec les bons chemins.

Cela te permettra de n'appeler que la variable de ton fichier de conf et d'ainsi être plus modulable sur la localisation des fichiers.