Posez votre question Signaler

Agrandir une photo

fanfan7712 21Messages postés 13 février 2008Date d'inscription 11 janvier 2012Dernière intervention - Dernière réponse le 14 févr. 2008 à 14:35
Bonjour,
J'ai mis des photos sur mon site. J'aimerais les agrandir par un clic sur la photo. On m'a donné un code PHP. Mais il faut mettre les photos format réduit dans le fichier photos et format normal dans un fichier "thumbs".
Quand je transfère mes photos sur l'hébergeur, je vois le transfert de ce fichier "thumbs" mais il n'apparait nulle part. Comment créer un tel fichier? Je ne comprends pas les termes techniques. Merci d'essayer de m'aider.
Bonne journée
Lire la suite 

Agrandir une photo »

6 réponses
Réponse
+0
moins plus
Bonjour,

En théorie, le fichiers thumbs ne reprend justement que les miniatures (Thumbnail en anglais signifie 'aperçu'), et est utilisé par windows XP/vista pour afficher une miniature de l'image dans le dossier.
Ca me parait donc un peu suspect. Il serait possible de voir une partie du code PHP ?
Ajouter un commentaire
Réponse
+0
moins plus
voici ce qu'on m'a donné. En plus, il faut modifier la feuille de style.

Peut être avez vous une formule plus simple ?

Merci d'avance


Voilà le code source :
> <?php
> /* lecture des noms des fichiers */
> $fichiers=array();
> $dir=opendir("./thumb/");
> while($file = readdir($dir)) {
> if (($file!=".")&&($file!="..")) {
> $fichiers[]=trim($file);
> }
> }
> closedir($dir);
> sort ($fichiers);
>
> echo "<div class=\"album\"><table>\n";
> if (isset($_GET["img"])) { /* si une image particulière est demandée */
> $i=$_GET["img"];
> $img=$fichiers[$i];
> echo "<tr>"
> ."<td style=\"text-align:left\">"
> .($i>0?"<a href=\"?img=".($i-1)."\"><<
> Prcdt</a>":"<< Prcdt")."</td>"
> ."<td style=\"text-align:center\"><a href=\".\">Retour</a></td>"
> ."<td style=\"text-align:right\">"
> .($i<count($fichiers)-1?"<a href=\"?img=".($i+1)."\">Suivt
> >></a>":"Suivt >>")."</td>"
> ."</tr><tr><td></td>"
> ."<td><img src=\"ecran/$img\" alt=\"$img\" /></td>"
> ."<td></td>"
> ."</tr>\n";
>
> } else { /* pas d'image demandée => affichage des miniatures */
> $largeur=4;
> $finligne="";
> $n=0;
> for ($i=0;$i<count($fichiers);$i++) {
> $file=$fichiers[$i];
> if ($n==0) {
> echo "$finligne<tr>\n";
> }
> $n++;
> if ($n>=$largeur) $n=0;
> $finligne="</tr>\n";
> echo "\t<td><a title=\"$i\" href=\"?img=$i\"><img
> src=\"thumb/$file\" alt=\"$file\" /></a></td>\n";
> }
> echo "$finligne\n";
> }
> echo "</table>\n</div>\n";
> ?>
il faut un répertoire pour chaque album
le programme ci-dessus doit être dans chaque répertoire
les images sont à la taille voulue dans le sous-répertoire ecran
les miniatures sont à leur taille réduite dans le répertoire thumb (avec
les mêmes noms que dans le répertoire ecran)
Ajouter un commentaire
Réponse
+0
moins plus
il faut un répertoire pour chaque album
le programme ci-dessus doit être dans chaque répertoire
les images sont à la taille voulue dans le sous-répertoire ecran
les miniatures sont à leur taille réduite dans le répertoire thumb (avec
les mêmes noms que dans le répertoire ecran)


C'est exact. C'est ce que fait le script.
Par contre, tu ne dois pas utiliser le fichier "thumbs", c'est un fichier propre à windows.
Uniquement un dossier nommé 'ecran' et un dossier nommé 'thumb'. Les grandes images dans ecran, les petites, avec le même nom, dans thumb.
Je te conseille de nommer tes images en commençant par des chiffres. Le script les trie par ordre alphabétique croissant, donc si tu veux pouvoir choisir l'ordre, utilise des chiffres de 1 à X. (X étant le nombre d'images).
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
Merci à Xil pour ses conseils.
Je n'avais pas bien compris l'utilisation du fichier "thumb". Je pensais qu'il fallait créer une base de données, et je ne sais pas le faire.
Je vais donc procéder comme conseillé.
Merci beaucoup et bonne journée.
Ajouter un commentaire
Réponse
+0
moins plus
Re bonjour,
J'ai dû me tromper quelque part. J'ai créé deux sous répertoires dans mon fichier photos : 1) thumb 2) ecran
j'y ai mis les photos mais seule la photo miniature s 'affiche. il n'y a pas de lien pour agrandir.
Ai-je créé les bons sous dossiers ?
L'erreur vient elle de la feuille de style dans laquelle j'ai rajouté le texte suivant :
div.album {
> text-align:center;
> }
> div.album table {
> margin:auto;
> }
> div.album td {
> border:thin solid ;
> margin:4px;
> padding:4px;
> }
> A:link,
> A:visited,
> A:hover,
> A:visited:hover {
> text-decoration:none;
> }
> A:hover,
> A:visited:hover {
> background:#80C9FF;
> color:inherit;
> }
> A:link,
> A:visited,
> A:hover,
> A:visited:hover {
> border:1px dotted #0066B3;
> padding-left:2px;
> padding-right:2px;
> }


Le pb vient peut être du fait que j'avais déjà des liens sur la feuille d'origine ??
La personne qui m'a donné les codes est probablement en vacances et ne pourra pas m'aider avant 15 jours.

Merci d'avance
Ajouter un commentaire
Réponse
+0
moins plus
echo "\t<td><a title=\"$i\" href=\"?img=$i\"><img src=\"thumb/$file\" alt=\"$file\" /></a></td>\n"; 

D'après cette ligne, chaque miniature est un lien vers son agrandissement.
Je ne vois pas ce qui pourrait désactiver ce lien.

Vérifie le code source HTML généré pour voir si tout est correct.
Ajouter un commentaire
Ce document intitulé « agrandir une photo » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook