Liens entre pages d'un site

Ariane_A -  
 Ariane_A -
Bonjour,

Je m'explique : disons que j'ai ceci :

répertoire racine
- index.html
- page1.html
- page2.html
- include.php

sous-répertoire "dossier"
- dossier1.html
- dossier2.html

sous-répertoire "images"
- image1.jpg
- image2.jpg

Toutes mes pages font un include à include.php et dans ce include.php on affiche des images se trouvant dans le dossier "images".

Quel chemin/lien dois-je utiliser dans include.php pour que quelle que soit la page qui fait le include, l'affichage des images soit correct ?

Il me semble que c'est possible simplement en html.
J'ai essayé <img src="./images/image1.jpg" et <img src="/images/image1.jpg" mais ça ne marche pas.

Merci !
A voir également:

9 réponses

jojodivx Messages postés 202 Statut Membre 16
 
Et ça ?
<img src="images/image1.jpg" />
0
Ariane_A
 
Eh bien non.
Si on se trouve dans la page dossier1.html (qui est dans un sous-répertoire) ça ne marche pas.
0
jojodivx Messages postés 202 Statut Membre 16
 
Donne l'arborescence des fichiers et dossiers ça sera plus simple ^^
0
Ariane_A
 
C'est ce que j'ai fait dans le premier message !
0
jojodivx Messages postés 202 Statut Membre 16
 
Ah oui j'avais pas vu ^^

Je vois ça
0
jojodivx Messages postés 202 Statut Membre 16
 
A tout hasard si tu renomme tes pages *.html en *.php ça donne quoi ?
0
Ariane_A
 
Ca ne change rien. En fait mes pages sont déjà des .php

Là j'ai fait un exemple juste pour expliquer le problème, mais en réalité j'ai beaucoup de dossiers et de fichiers.

Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jojodivx Messages postés 202 Statut Membre 16
 
Si tu affiche le code source il te met quoi comme adresse à l'endroit où devrait être l'image ?
0
Ariane_A
 
On voit exactement ce qui est dans mon code.
P.ex. <img src='./images/banner_1024.png' width='891' height='201' alt='banniere PdZ'>
ou <img src='/images/banner_1024.png' width='891' height='201' alt='banniere PdZ'>

et l'image n'apparaît pas, on voit le symbole du petit fichier cassé (image introuvable).
0
vaeylon
 
Si tu es dans include.php les liens devraient être de la forme suivante :

<a href="images/image1.jpg" />


ceci étant si tu est dans dossier1.html par exemple, ce sera plutôt de la forme suivante :

<a href="../images/image1.jpg"/>


A savoir, le sélecteur "." pointe vers le répertoire courant (dans la plupart des cas il n'est pas utile dans un lien), le sélecteur ".." quant à lui pointe vers le répertoire parent (soit si l'on est dans le sous-répertoire dossier vers la racine du site).

Ceci étant, si tes pages dossier1.html sont incluses dans include dans ta page include.php c'est le premier type de lien qui devrait s'appliquer.

Cordialement,
vaeylon
0
Ariane_A
 
Je sais tout ça, je crois pas que tu as compris mon problème.

Le fichier include.php est inclus dans tous les fichiers html , qu'ils soient à la racine du site ou dans un sous-dossier.

Alors comment afficher une image se trouvant dans le dossier "images" dans ce fichier include.php ? vu qu'on ne sait pas quel fichier html fait appel à cet include ?

Merci.
0
jojodivx Messages postés 202 Statut Membre 16
 
Ce qui est important c'est que le fichier include.php utilisé est toujours le même donc le lien doit se faire par rapport à ce fichier.

Si tu fais un clic droit sur le symbole du fichier introuvable et que tu fais "afficher l'image" il t'envoie où ?
0
Ariane_A
 
Si je fais un clic droit sur le symbole, il ne se passe rien. Ni dans FF, ni dans IE.
0
Ariane_A
 
En fait avec <img src='/images/banner_1024.png' width='891' height='201' alt='banniere PdZ'>

Il semble que cela marche en ligne. Ca ne marche pas en local.

Je vais continuer mes tests cet après-midi.
0
jojodivx Messages postés 202 Statut Membre 16
 
Le dossier "images" est dans le répertoire racine ou dans le dossier "dossier"
0
vaeylon
 
Dans ce cas là, tu peux faire un test pour vérifier si le fichier image existe bien. Si le test est négatif c'est que le lien n'atterit pas dans le bon dossier, donc il faut intégrer l'autre lien. Faire un truc du genre :

<?php
if(file_exists(../images/image1.jpg){
echo "<img src='../images/image1.jpg' />" ;
}else{
echo "<img src='images/image1.jpg' />" ;
}
?>


plus qu'a faire ça pour tout tes liens ^^ ou entrer ça en variable en début de page et de faire ensuite tes liens en fonction du genre :

<?php
if(file_exists(../images/image1.jpg){
$path='../images/' ;
}else{
$path='images/' ;
}
?>

<img src="<?php echo $path.'image1.jpg' ; ?>"


Voila ! ^^
0
Ariane_A
 
J'avais pensé à ta 2ème solution, mais pas à la première ! C'est intéressant, je vais essayer, merci !

Je pensais qu'il y avait une solution plus simple, mais apparemment pas. Tant pis.
0