Pb include() et liens - PHP - Programmation
Marsh Posté le 13-03-2004 à 19:56:06
C'est quoi comme server apache? distant ou local?
edit: non rien
Marsh Posté le 13-03-2004 à 20:00:04
c'est pas un probleme de php, mais un probleme de html. Il faut que tu mettent
<img src="image/ton_image.truc">
met nous le code de ta page que tu inclu, on comprendrai mieux.
Marsh Posté le 13-03-2004 à 20:06:36
En fait, ce que j'en ai compris, c'est le problème habituel du chemin relatif quand on utilise des includes.
Maintenant, pour avoir "c:\program files\..." c'est que le site est vu en local, faut voir si c'est vraiment ce qu'elle (??) veut
Marsh Posté le 13-03-2004 à 20:07:55
En fait la page que j'inclus se situe a la racine de mon site d'ou elle va recuperer l'image (src="images/mon_image.gif" ). Le probleme lorsque l'include est realisé dans une page qui se trouve dans un autre dossier, c'est que l'image n'a plus le meme lien...
Donc galere, obliger de mettre des liens en dur...
Celinou
Marsh Posté le 13-03-2004 à 20:08:04
celinou a écrit : Bonjour a tous, |
il faudrait que tu nous décrive davantage l'archi de ton système de fichiers
Marsh Posté le 13-03-2004 à 20:10:01
Le probleme c'est que le chemin du site en ligne et celui pour le developpement n'est pas le meme.
Celinou
Marsh Posté le 13-03-2004 à 20:15:26
|
La page page_qui_inclus.php inclus la page page_a_inclure.php qui a des references vers le dossier image.
merci encore
Celinou
Marsh Posté le 13-03-2004 à 20:20:19
oki,
page_qui_inclus.php est -elle déjà incluse ou non ? si non, alors
<img src="../page_a_inclure.php ">
et si elle est déjà incluse alors l'inclusion doit se faire depuis la page 'racine'
Marsh Posté le 13-03-2004 à 20:22:55
tu fais reference à une page php dans une balise img
edit: c'est page_à_inclure.php qui fais reference à l'images dans le dossier images, et cette image n'est pas retrouvé par la page page_qui_inclus.php
Marsh Posté le 13-03-2004 à 20:48:18
uriel a écrit : tu fais reference à une page php dans une balise img |
C'est possible hein, même si c'est pas d'une utilité quelconque ici
Mais Celinou, je comprends pas bien ton problème, avec $_SERVER['HTTP_HOST'] tu as la bse nécessaire pour indiquer le chemin vers tes images non ?
Marsh Posté le 13-03-2004 à 21:22:01
ReplyMarsh Posté le 13-03-2004 à 21:37:54
ReplyMarsh Posté le 13-03-2004 à 21:41:42
uriel a écrit : |
<img.../> === content/type image tu veux dire
Un script php qui renvoit une image (genre ce que font GD ou jpgraph) peut parfaitement être placé dans une balise <img>
Marsh Posté le 13-03-2004 à 21:45:44
naceroth a écrit : |
je savais pas (et oui je voualis dire img -> MIME image)
Marsh Posté le 13-03-2004 à 21:55:08
celinou -> tu utilises des chemins absolus, toujours par rapport à ton root non? Tu devrais plutôt faire des chemins relatifs, je parie que ça résoudrait tes problèmes.
Marsh Posté le 14-03-2004 à 17:22:33
Désolée pour cette absence...
drashe, je ne p pas utiliser de chemins relatifs car le chemin vers mon image varie selon ou se situe la page dans laquelle je fais un include.
Je pense q je n'utilise pas les 'include' comme il faut et surtout PHP. En fait je crée des pages dans lesquelles je fais toujours le meme include. Peut etre devrai-je conserver une page index dans laquelle je ferai des include de toutes les autres pages selon la valeur d'une variable passée dans l'URL?
naceroth, j'ai testé la variable $_SERVER['HTTP_HOST'] , le pb c'est que le serveur qui heberge le site a une URL de deux kilomètres de long apres la racine... Donc toujours le meme pb , je ne pourrai pas conserver les memes liens entre la prod et les upload sur le serveur...
Franchement je crois q je vais capituler et mettre toutes mes pages dans le meme repertoire (bonjour le dawa!)... J'aurai toujours le meme probleme avec la partie intranet du site qui se trouve dans un fichier ssl-dir.
Merci.
Marsh Posté le 14-03-2004 à 17:28:01
J'ai eu un problème de ce genre: sur mon site, mon menu principal est défini dans un include, mais l'include est appelé depuis différents endroits. Dans ce cas, je passe un argument à la fonction qui m'affiche mon menu, lequel indique de combien de niveaux je dois remonter dans mon arborescence. Cette astuce me permet de toujours donner le bon lien pour l'index du site, et d'avoir la même version de mes pages que je sois en local (mon site n'est qu'un projet parmi d'autres, donc pas dans le rootsite) ou sur un serveur distant quelconque.
Marsh Posté le 14-03-2004 à 17:40:20
Tu utilises quoi comme fonction pour afficher ton menu?
Là je m'étais résigner a recreer sur ma machine la meme arborescence que sur le serveur...ça fais vraiment bidouille, j'aime pas ça...
Marsh Posté le 14-03-2004 à 17:54:51
si tu n'as qu'un seul répertoire images, tu mets le lien comme ça :
<img src="/images/tonimage">
Marsh Posté le 14-03-2004 à 17:57:09
bin j'utilise une bête fonction que j'ai créée, cette fonction affiche mon menu, et elle reçoit un path en paramètre (souvent "../", sinon "./", lequel indique le répertoire courant).
ratibus> mauvaise idée, ton site n'est pas forcément dans le root, les chemins absolus, c'est mal.
Marsh Posté le 14-03-2004 à 17:58:10
En fait je fais des include dans des pages qui se trouve dans des dossiers differents donc le lien vers mon image est voué a changé tout le temps.
Marsh Posté le 14-03-2004 à 18:05:26
chuis pas sûr d'avoir compris
suivant le site sur lequel tu poses tes pages, le répertoire d'images n'est pas au même endroit [i]par rapport [i] à ton include?
Marsh Posté le 14-03-2004 à 18:09:57
j'ai capitulé j'en peux plus... j'ai recréer la meme arborescence sur ma machine que sur le serveur.
Sinon mon repertoire d'images et bien toujours au meme endroit (a la racine de mon site).
Merci quand meme pour votre aide. je pense que c'est un probleme de conception de mon site à la base.
Celinou
Marsh Posté le 14-03-2004 à 18:12:42
je crois aussi
si tu as la même arborescence, un chemin relatif doit fonctionner dans tous les cas
Marsh Posté le 14-03-2004 à 18:15:29
Merci beaucoup pour votre aide
Celinou
Marsh Posté le 14-03-2004 à 20:35:32
En fait, c'est le même problème qui revient souvent.
Tes include() peuvent être appelés par la variable $_SERVER['DOCUMENT_ROOT']
|
Pour les images, c'est un autres problème :
Soit tu tentes le chemin absolu
|
ou la construction d'une variable qui retrouve le chemin relatif à partir du $_SERVER['PATH_INFO']
|
et pour appeler l'mage ou le css
|
Marsh Posté le 13-03-2004 à 19:08:42
Bonjour a tous,
Voila g un probleme un peu bizarre...
Je fais des include dans chacune des pages de mon site pour inserer ma banniere et mon menu horizontal.
POur ordonner mes pages j'ai créé des dossiers pour chacune des categories de mon site... Erreur... maintenant mon lien vers l'image de ma banniere n'est pas viable: l'image et recherchée dans un dossier image de chaque categorie de mon site alors que le dossier image d'origine se situe a la racine de mon site...
Tout ceci n'est peut etre pas tres claire a comprendre... désolée...
Je pensais avoir trouvé une solution en utilisant la var $_SERVER["Documents_root"] mais ca ne marche pas car le chemin devient: "cprogram files/..." et non http://localhost...
Encore desolée pour cette description fouillie, mais si quelqu'un a une idée sur ce probleme ou a dejà rencontre ce probleme... Merci d'avance.
Celinou