SAM a écrit :
Christophe Lohr a écrit :
Bonjour,
voici mon souci : j'ai un document html composé de plusieurs fichiers (quelques fichiers html, plus quelques images). La difficulté est que je dois les déposer sur un site qui gère les fichiers via une base de donnée. Ainsi on accède aux fichiers par une requête du style :
http://lesiteweb.org/file.php?file=/repertoire/index.html
La conséquence c'est que si mon fichier index.html fait un <IMG SRC="image.png">, les navigateurs vont le rechercher dans
http://lesiteweb.org/image.png et non pas dans http://lesiteweb.org/file.php?file=/repertoire/image.png
Bref, il me faut gérer cette URL de base non conventionnelle.
Naïvement, j'ai essayé avec le tag <base href=".."> dans l'entête, mais bien entendu, il n'est pas pris en compte...
cela veut-il dire que pour chaque image il faut faire :
src="http://lesiteweb.org/file.php?file=/repertoire/image.png"
c a d relancer le fichier 'file.php' qui doit alors titiller la base de donnée pour trouver l'image ?
N'est-ce point beaucoup de labeur pour le serveur ?
peut-être
c'est la contre-partie du "web dynamique"
(Note: je ne gère pas le serveur en question, je ne fais que l'utiliser)
cela dit, j'ai l'impression que c'est une façon de faire de plus en plus courante : par exemple tous les sites genre dailymotion, d'albums photos, de forum, etc. tout le contenu est dans une base de donnée (même les documents)
Si les images sont en fait dans un répertoire, je ne vois pas où est le problème avec :
src="/repertoire_des_images/image.png"
il n'y a pas de répertoire au sens habituel, c'est plutôt un répertoire virtuel dans le sens ou c'est la base de donnée qui me ressort mes document "ensembles" et me les présente comme si ils étaient dans un même répertoire de disque dur, mais ce n'est certainement pas le cas sur le serveur.
Par conséquent, je pensais qu'il devrait être possible de coder en javascript une fonction qui d'une part repère la base de l'url du document html en cours, puis l'ajoute à tous les liens locaux.
??? la "base" de l'url de la page (http://lesiteweb.org/) est de toutes façons ajoutée silencieusement par le navigateur ...
oui, mais de mon point de vue cette base d'url n'est pas la bonne, il me faudrait la chaîne "
http://lesiteweb.org/file.php?file=/repertoire/" pour que le serveur me retrouve les fichiers.
Si les images sont dans : repetoire/photos/
et si le php sait écrire : ?file=/repertoire/
il saura bien écrire cekivabien pour les src, non ?
src="<?php echo $repertoire ?>/photos/photo_1.jpg"
Le php qui fait fonctionner le serveur, je n'ai en aucun cas la main dessus.
Tout ce que je maîtrise, ce sont les documents que j'y dépose (html, png).
D'où l'idée initiale de coder dans mes documents html un bout de javascript qui ré-arrange ses url relatives...