Bonjour,

Je travaille sur le portage d'une application faite en php, le problème de cette application est qu'elle contient des chemins absolus. Un script root.php contenant les chemins est appelé à chaque fois. Un petit extrait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$matrix['js']			="/www/docs/fcm/center/lib/js";
Des chemins de la sorte sont utilisés dans les scripts de l'application. L'objectif est de rendre cette application portable afin de l'installer chez d'autres filiales. J'entreprend donc de remplacer tous les chemins absolus par des chemins relatifs (sachant que php n'est pas ma spécialité).

J'utilise pour cela la variable d'environnement $_SERVER['DOCUMENT_ROOT']. A titre d'exemple, j'ai remplacé la ligne précédente par :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$matrix['js']			=$_SERVER['DOCUMENT_ROOT']."/center/lib/js";
Cela marche bien pour les include et les require qui sont bien résolus, seulement pour les éléments interprétable en html (img src, link, form action...), cela ne fonctionne pas.

Voici le code php utilisé et le rendu html :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<img src="<? echo $matrix['sharedgfx']."/"?>logo.gif">
Résultat html :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
<img src="C:/wamp/www/webapp/center/shared/gfx/img/aware.gif">
(pour l'instant je test en local chez moi sur une plateforme wamp)

L'image n’apparaît évidemment pas et c'est pareil pour les forms, les css...etc

A noter que j'ai un vhost qui pointe sur la racine de mon application et qui est le point d'accès.