Forum d'entraide PHPFrance

Venez poser vos questions PHP, MySQL, HTML, CSS, Javascript, Gestion de serveurs à la communauté PHPfrance

Vers le contenu

» Masquer les résultats de la recherche

Recherche dynamique PHPfrance

  1. Effectuez une recherche, les résultats s'afficheront dynamiquement ici.

[RESOLU] images qui s'affiche en petites icones

Pour ceux qui débutent en PHP.

images qui s'affiche en petites icones

Messagepar sets 09 Nov 2012, 22:28

bonsoir,

Petit probleme d'image qui s'affiche en genre de vignette comme ceci http://animal-suspect.com/
Une solution pour les affichés correctement ?


voici le code utilisé:

<?php

$dir = './image';
$image_largeur = 150;
$valide_extensions = array('jpg', 'jpeg', 'gif', 'png');

$Ressource = opendir($dir);
while($fichier = readdir($Ressource))
{
    $berk = array('.', '..');

    $test_Fichier = $dir.$fichier;

    if(!in_array($fichier, $berk) && !is_dir($test_Fichier))
    {
        $ext = pathinfo($fichier,  PATHINFO_EXTENSION);

        if(in_array($ext, $valide_extensions))
        {
            echo '
                <div style="float:left; width:'.$image_largeur.'px; margin-right:10px">
                    <img src="'.Logo2.jpg.'" style="'.$image_largeur.'px" />
                </div>';
        }
    }
}
?>


Merci de votre aide
sets
Foetus
 
Messages: 16
Inscription: 09 Nov 2012, 13:16

Re: images qui s'affiche en petites icones

Messagepar juliette 09 Nov 2012, 23:08

Syntaxe: [ Télécharger ] [ Masquer ]
Code html
<img img"'.Logo2.jpg.'" width="'.$image_largeur.'px" />
 
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.
juliette
Eléphant
 
Messages: 784
Inscription: 03 Oct 2011, 20:20
Localisation: Figeac (46)

Re: images qui s'affiche en petites icones

Messagepar 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?
sets
Foetus
 
Messages: 16
Inscription: 09 Nov 2012, 13:16

Re: images qui s'affiche en petites icones

Messagepar sam12 10 Nov 2012, 04:01

Normal, la balise sort comme ça:
Syntaxe: [ Télécharger ] [ Masquer ]
Code html
<img src"./image/Logo2.jpg" width="150px" />


Il faut pouvoir transformer en:

Syntaxe: [ Télécharger ] [ Masquer ]
Code html
<img src="./image/Logo2.jpg" width="150px" />
Développeur web
sam12
Eléphanteau
 
Messages: 343
Inscription: 17 Juil 2011, 03:29
Localisation: Lyon

Re: images qui s'affiche en petites icones

Messagepar 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
sets
Foetus
 
Messages: 16
Inscription: 09 Nov 2012, 13:16

Re: images qui s'affiche en petites icones

Messagepar 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

@+
Il en faut peu pour être heureux ......
moogli
Modérateur PHPfrance
Modérateur PHPfrance
 
Messages: 7379
Inscription: 06 Juil 2006, 17:23
Localisation: gwened bzh

Re: images qui s'affiche en petites icones

Messagepar 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:
Syntaxe: [ Télécharger ] [ Masquer ]
Code php
<?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!
sets
Foetus
 
Messages: 16
Inscription: 09 Nov 2012, 13:16

Re: images qui s'affiche en petites icones

Messagepar 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).


@+
Il en faut peu pour être heureux ......
moogli
Modérateur PHPfrance
Modérateur PHPfrance
 
Messages: 7379
Inscription: 06 Juil 2006, 17:23
Localisation: gwened bzh

Re: images qui s'affiche en petites icones

Messagepar sam12 10 Nov 2012, 17:39

Sans certitude, je dirais avec un foreach en jouant sur les clés.
Développeur web
sam12
Eléphanteau
 
Messages: 343
Inscription: 17 Juil 2011, 03:29
Localisation: Lyon

Re: images qui s'affiche en petites icones

Messagepar 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 ]).



@+
Il en faut peu pour être heureux ......
moogli
Modérateur PHPfrance
Modérateur PHPfrance
 
Messages: 7379
Inscription: 06 Juil 2006, 17:23
Localisation: gwened bzh

Re: images qui s'affiche en petites icones

Messagepar 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 ;)
Développeur web
sam12
Eléphanteau
 
Messages: 343
Inscription: 17 Juil 2011, 03:29
Localisation: Lyon

Re: images qui s'affiche en petites icones

Messagepar 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
sets
Foetus
 
Messages: 16
Inscription: 09 Nov 2012, 13:16

Re: images qui s'affiche en petites icones

Messagepar 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:
sets
Foetus
 
Messages: 16
Inscription: 09 Nov 2012, 13:16

Re: images qui s'affiche en petites icones

Messagepar sets 10 Nov 2012, 22:38

Personne? :(
sets
Foetus
 
Messages: 16
Inscription: 09 Nov 2012, 13:16

Re: images qui s'affiche en petites icones

Messagepar 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.

<?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


@+
Il en faut peu pour être heureux ......
moogli
Modérateur PHPfrance
Modérateur PHPfrance
 
Messages: 7379
Inscription: 06 Juil 2006, 17:23
Localisation: gwened bzh

Suivante

Retourner vers PHP débutant

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 8 invités