Aller au contenu

Mettre à jour des chemins d'images


Sujets conseillés

Salut,

Tu utilises quel programme pour modifier ton fichier index.html? Selon l'éditeur, tu as une option "Rechercher & remplacer" et surtout "Remplacer tout". C'est toujours à la main que tu feras les modifications mais en 2-3 clics seulement :)

C'est pour moi la solution la plus simple si l'arborescence ne varie pas évidemment.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je n'ai pas compris quelle était l'arborescence actuelle de tes fichiers, ni quelle était l'arborescence que tu voulais mettre en place. Là, j'ai l'impression que tu as une galerie par dossier, avec dans chaque dossier deux dossiers (images et miniatures), et un fichier index.html ? Donc ça te fait plein d'index.html ? Et tu voudrais un seul fichier à la racine ?

Lien vers le commentaire
Partager sur d’autres sites

Toujours une belle réactivité sur Webmaster Hub,

Oui je comprend qu'il faut que j'explique mieux.

Oui Yuston, je suis même champions du rechercher/remplacer, mais c'est justement pour éviter ça et les pertes de temps et parfois erreurs quand on va trop vite.

Je génère en quelques secondes les galeries sur Lightroom, personnalisées suivant l'usage, et hop sur le serveur, c'est là que je voudrais éviter le bidouillage de code.

Ernestine, pour être plus clair, rien ne vaut un petit dessin, c'est ça les peintres, ça s'exprime mieux avec des images donc voici pour comprendre :
/>http://martigne.fr/zonezone/dominiqueftp.jpg

(j'enlèverais cette référence plus tard afin d'éviter éventuellement un lien mort)

on voit donc la galerie au 4ème niveau, c'est ce fichier index, qui, arrivé à la racine perd évidement ses liens.

Au résultat (avec rechercher/remplacer) ça donne ceci par exemple : http://martigne.fr/vdisplay.php?page=ceramiques-galerie

Une solution simple à mettre en place me ferait gagner beaucoup de temps.

Dominique

Modifié par dmart
Lien vers le commentaire
Partager sur d’autres sites

Le plus simple serait peut-être d'ajouter (dynamiquement ou pas) un base href dans ta page, pour que les fichiers appelés soient relatifs à cette url.

Hé oui je crois que ce doit être quelque chose comme ça, mais mes compétences sont très limitées, c'est pour cette raison que j'ai besoin d'aide et un code fonctionnel,

dans ce domaine je ne guère que faire des copier/coller...

Lien vers le commentaire
Partager sur d’autres sites

Quelque part dans display.php, tu dois avoir une ligne qui inclut chats.php , avec un 'include', un 'require' ou un 'require_once' :

include('include/chats.php');

Tu peux la remplacer par :

ob_start();
include('include/chats.php');
$contenu = ob_get_clean();
$contenu = str_replace('<a href="photos/', '<a href="include/CHAT/chatramique-01/photos/', $contenu);
$contenu = str_replace('<img src="thumbnails/', '<img src="include/CHAT/chatramique-01/thumbnails/', $contenu);
echo $contenu;

En gros : tu n'affiches pas directement l'index, tu le mets en tampon (trois premières lignes) et l'enregistres dans $contenu, puis tu modifies les chemins dans $contenu (lignes 4 et 5), puis tu affiches le tout (ligne 6).

Mais si ça se trouve, ton inclusion de vinclude/CHAT/etc... est automatique (genre récupération d'un paramètre pour savoir sur quelle galerie on est), auquel cas ça complique légèrement la chose.

Par ailleurs, dans la page d'exemple que tu as donnée, le répertoire racine est "vinclude" et non pas "include".

Lien vers le commentaire
Partager sur d’autres sites

Ho ! super merci Ernestine, je vais essayer tout à l'heure... (content)

Ma page vdisplay est ainsi faite:

<? $pages=array(
'defaut'=>'defaut',
'ceramiques-chats'=>'chats',
etc...
); ?>
Puis dans : <body>
<?php
if(isset($_GET['page']) && array_key_exists($_GET['page'],$pages))
include 'vinclude/' . $pages[$_GET['page']].'.php';
else include 'vinclude/defaut.inc';
?>

Est-ce que cela marche dans cette configuration?

Lien vers le commentaire
Partager sur d’autres sites

Non du coup ça va pas marcher, car le fichier inclus dépend effectivement du paramètre 'page' de l'url.

Dans ce cas, le code que j'ai mis ci-dessus, il faudrait plutôt le mettre dans le fichier 'chats.php'. Dans le fichier "include/chats.php", remplacer :

include('CHAT/chatramique-01/index.html');

par :

ob_start();
include('CHAT/chatramique-01/index.html');
$contenu = ob_get_clean();
$contenu = str_replace('<a href="photos/', '<a href="include/CHAT/chatramique-01/photos/', $contenu);
$contenu = str_replace('<img src="thumbnails/', '<img src="include/CHAT/chatramique-01/thumbnails/', $contenu);
echo $contenu;

Mais je ne sais pas si ça va marcher, il faut sûrement adapter, c'est dur de pondre du code comme ça à l'aveuglette.

Lien vers le commentaire
Partager sur d’autres sites

A regarder comme ça, c'est si joli que c'est sûr, ça va marcher....

C'est vraiment sympa de "pondre comme ça du code à l'aveuglette",

Je regrette de n'avoir pas encore assez d'expérience pour aider les autres.

Là j'ai les mains pleines de pinceaux, et le clavier comme lui aussi à prendre des couleurs,

Je test tout ça ce soir tard ou demain et reviens vers toi pour te donner le résultat.

Merci, bonne soirée

Dominique

Lien vers le commentaire
Partager sur d’autres sites

Formidable Ernestine,

Tout marche parfaitement.... j'ai juste les chemins à mettre à jour.

Ce principe me permet de continuer à faire mes sites en gardant une ligne de conduite le plus simple possible et compatible avec mon niveau de compétence.

De cette façon ces petites galeries unitaires vont être très facile à mettre à jour, quelque soit leur place dans le site, sans avoir à passer par un système type piwigo lourd et inutile pour quelques photos.

Dominique

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...