[RESOLU] images qui s'affiche en petites icones

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] images qui s'affiche en petites icones

Re: images qui s'affiche en petites icones

par sets » 11 nov. 2012, 00:10

re Moogli!!

Et la je dis MERCI !!!

Je vais pouvoir avoir une nuit normale !!!

je te remercie encore pour toute ton aide c'est parfait je sais pas comment te dire merci : ))))

ça remonte le moral de faire une croix sur un des pb php!

Thx encore Moogli.

Merci aussi à sam12 et a juliette ( en passant j'aime bien ta signature ^^) d'avoir pris aussi le temps de m'aider!

Re: images qui s'affiche en petites icones

par moogli » 10 nov. 2012, 23:32

Le foreach permet de parcourir un objet ou un tableau et cela sans ce soucier des clefs de ton tabeau.

Code : Tout sélectionner

<?php $dossier = 'image'; $dossier_images = $dossier.'/*.{jpg,jpeg,gif,png}'; $tab_dossier = glob($dossier_images,GLOB_BRACE); $indexImage = array_rand($tab_dossier,3); foreach($indexImage as $index) { $max_width = 100;//maximum largeur acceptable $max_height = 100;//maximum hauteur acceptable list($width, $height) = getimagesize($tab_dossier[$index]); $ratioh = $max_height/$height; $ratiow = $max_width/$width; $ratio = min($ratioh, $ratiow); $ratio = $ratio <= 1 ? $ratio : 1;// uniquement si l'on ne veut pas agrandir les photos de plus petites dimensions que $max_width ou $max_height $width = intval($ratio*$width); $height = intval($ratio*$height); echo '<img src="'.$tab_dossier[$index].'" width="'.$width.'" height="'.$height.'" alt="image" />'; } ?>
par exemple


@+

Re: images qui s'affiche en petites icones

par sets » 10 nov. 2012, 22:38

Personne? :(

Re: images qui s'affiche en petites icones

par sets » 10 nov. 2012, 20:33

non j'ai beau essayer de comprendre je n'y arrive pas, je ne vois pas ce qu'est ce foreach comme je vous dit je débute dans le php c'est vraiment pas facile.
Je fouille tellement partout dans pleins de sites qui parlent de manières différentes de choses qu'ils connaissent ou moi j’y connais pas grand chose que je m’emmêlent les pinceaux je fini par plus rien comprendre.
je ne vois pas ce qu'est :

-foreach
-En jouant sur les clés ?
-($tableauInitial[ $valeurCourantDuForeach ])
-a partir du la tu parcourt le tableau résultat avec foreach et tu fait appel à la valeur
-utilise l'exemple de la doc avec le second paramètre de la fonction
-si te fichier n'on pas d'extension récupère tout (comment ?)


quand vous parlez entre vous Sam et Moogli vous y voyez clair mais moi j'y vois rien :(

Ce sont des choses que je découvre.
Je comprend bien quand les codes sont la et que je peux les décortiquer et que je fais des test.
Mais de la à rajouter des phrases et les composer de moi même je ne sais pas comment faire c'est trop dsl :/

me = néophyte :oops:

Re: images qui s'affiche en petites icones

par sets » 10 nov. 2012, 18:39

re,
dsl mais je comprend pas vraiment ou je choisie d'afficher 3 images au lieu d'une dsl je suis vraiment pas fort la dedans ...

Je sais pas ce qu'est le $tableauInitial[ $valeurCourantDuForeach].

Si vous pouvais me dire quoi mettre et ou ça serait super que je comprenne car la dit comme ça il faut quand même avoir de bonnes bases pour comprendre tout.

Sinon tant pis j'appelerais 2 fois a 2 endroit différents systeme D oblige

Merci bien

Re: images qui s'affiche en petites icones

par sam12 » 10 nov. 2012, 17:46

Oui, je me suis mal exprimé. En jouant sur les clés du array_rand et non du foreach ;)

Re: images qui s'affiche en petites icones

par moogli » 10 nov. 2012, 17:42

en jouant sur les clefs ?

array_rand retourne des clefs prise aléatoirement dans un tableau (1 ou plusieurs suivant le second paramètre), a partir du la tu parcourt le tableau résultat avec foreach et tu fait appel à la valeur ($tableauInitial[ $valeurCourantDuForeach ]).



@+

Re: images qui s'affiche en petites icones

par sam12 » 10 nov. 2012, 17:39

Sans certitude, je dirais avec un foreach en jouant sur les clés.

Re: images qui s'affiche en petites icones

par moogli » 10 nov. 2012, 17:37

pour afficher plusieurs images utilise l'exemple de la doc avec le second paramètre de la fonction array_rand.

en clair
- $list = glob( ...);
- $fichierRetenu = array_rand($list, $nomDeFichier);
pour l'affichage un foreach, avec dedans le code que tu as a partir de la ligne du getimagesize.

si te fichier n'on pas d'extension récupère tout mais il est préférable d'avoir une extension pour filtre (sauf si tu est certain qu'il n'y a que des images).


@+

Re: images qui s'affiche en petites icones

par sets » 10 nov. 2012, 16:08

Slt,

Alors la je dis chapeau Moogli tu m'as réglé ça en deux phrases xD! Génial!

Si je peux abuser sur une chose:

Ta manière de faire fonctionne trés bien dans mon dossier image à la racine de mon site.
Par contre si je veux afficher les images de mes membres en remplaçant le dossier image par le dossier forum/files (qui est le dossier ou mes membres upload leur fichiers joints) ça ne marche pas car les fichiers dedans se nomment 2_3bc2eed4fa3f1d0cbf54045228302b70 à la place de logo2.jpg.

Si tu connais un moyen de les afficher ? la je serai aux anges :)

et par la même occasion comment en afficher 3 aléatoire au lieu d'une?
voici mon code:
<?php

$dossier = 'image';
$dossier_images = $dossier.'/*.{jpg,jpeg,gif,png}';

$tab_dossier = glob($dossier_images,GLOB_BRACE);
$img_aleatoire = $tab_dossier[array_rand($tab_dossier)];

$max_width = 100;//maximum largeur acceptable
$max_height = 100;//maximum hauteur acceptable

list($width, $height) = getimagesize($img_aleatoire);
$ratioh = $max_height/$height;
$ratiow = $max_width/$width;
$ratio = min($ratioh, $ratiow);

$ratio = $ratio <= 1 ? $ratio : 1;// uniquement si l'on ne veut pas agrandir les photos de plus petites dimensions que $max_width ou $max_height

$width = intval($ratio*$width);
$height = intval($ratio*$height);

echo '<img src="'.$img_aleatoire.'" width="'.$width.'" height="'.$height.'" alt="image" />';
?>
Encore Merci en tout cas pour cette réponse!

Re: images qui s'affiche en petites icones

par moogli » 10 nov. 2012, 15:33

Salut.

Oui c'est possible.

Tu peux aussi faire beaucoup plus simple que tu as fait avec la fonction glob

L'avantage c'est que tu aura un tableau sur lequel utiliser la fonction array_rand et prendre les 3 1er éléments

@+

Re: images qui s'affiche en petites icones

par sets » 10 nov. 2012, 11:56

Bonjour sam,

effectivement ça marche !
par contre j'ai 5 fois la même images qui sort du coup.

j'ai une chtite question est-il possible d’appeler 3 images aléatoires de ce dossier ?

Merci

Re: images qui s'affiche en petites icones

par sam12 » 10 nov. 2012, 04:01

Normal, la balise sort comme ça:
<img src"./image/Logo2.jpg" width="150px" />
Il faut pouvoir transformer en:
<img src="./image/Logo2.jpg" width="150px" />

Re: images qui s'affiche en petites icones

par sets » 10 nov. 2012, 03:22

Bonjour,

Merci pour votre réponse,

j'ai appliqué votre code et maintenant j'ai des carrés plus grand mais toujours avec la même petite icone bizarre.
Mes images ne s'affiche tjrs pas comme vous pouvez le voir.

je n'y comprend plus rien :'(

Une autre idée?

Re: images qui s'affiche en petites icones

par juliette » 09 nov. 2012, 23:08

<img img"'.Logo2.jpg.'" width="'.$image_largeur.'px" />