IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Enumérer des images


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 037
    Par défaut Enumérer des images
    Bonjour,

    Il y a quelques temps j'ai utilisé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    function afficheft($chemin) {
    	// Un tableau pour les fichiers
    	$fichiers = array();
     
    	if (is_dir($chemin)) {
    		// dir ouvert
    		$handle = opendir($chemin);
     
    		// on cherche les files dans le dir
    		while (($f = readdir($handle)) !== FALSE) {
    			if ($f != '.' && $f != '..') {
    				array_push($fichiers, $f);
    			}
    		}
     
    		// dir ferme
    		closedir($handle);
    	}
    	return $fichiers;
    }
     
    // On y va
    $chemin='ft/';
    $fichiers=afficheft($chemin);
     
     
     
    natcasesort($fichiers);
     
    foreach($fichiers as $f) {
    	echo '<a href="'.$chemin.$f.'" target="_blank" style="color:white">'.$f."</a><br />\n";
    }
     
    ?>
    </body>
    </html>
    Pour allez lire dans un dossier et afficher le contenu de ce dossier sur une page.
    Je voudrais en partant du même principe non plus afficher les noms de fichiers car ce ne sont plus des fichiers.

    Dans mon dossier il y a maintenant des images et j'aimerais les afficher, je veux dire les images, non pas leur nom.

    Je m'en tape de la mise en page, de la mise en forme etc... Je veux juste afficher les images l'une à la suite de l'autre...

    Quelqu'un a une idée ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Citation Envoyé par puce_84 Voir le message
    Quelqu'un a une idée ?
    Oui, et toi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($fichiers as $f) {
    	echo '<img src="'.$chemin.$f.'" alt="" />'."\n";
    }
    Houlà ! c'était difficile !

    N.B. Il faut quand même vérifier, dans la fonction, que le fichier est effectivement une image (test de l'extension, du type mime, par exemple).

  3. #3
    Membre éprouvé
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 037
    Par défaut
    Oui mais ça j'ai essayé et ça ne fonctionne pas, la page charge indéfiniment puis le navigateur plante (ne réponds pas).
    Je pense que c'est soit parce qu'il y a trop d'images à charger soit parce qu'elles sont trop grandes....

  4. #4
    Membre éprouvé
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 037
    Par défaut
    Non en fait je corrige ca marche avec un peu de temps mais ça déconne au niveau de l'affichage : voir ici http://www.jeromedewarzee.eu/ressources/sur_scene/

  5. #5
    Membre éprouvé
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 037
    Par défaut
    Bon j'ai fait un truc !

    Ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($fichiers as $f) {
    	echo '<img width="92" height="122" alt="" src="'.$chemin.$f.'" alt="" />'."\n";
    }
    C'était juste pour voir si le problème ne viendrait pas du fait que IE (ou Firefox) doit afficher trop d'images trop grande et que du coup il planterait.

    Je crois que c'est ça vu qu'avec cette restriction de la taille de l'image à 92X122 il affiche sagement toutes les images l'une à côté de l'autre.

    Super me direz vous donc puisque c'est ce que je voulais
    Et ben non

    Parce que ce que je voulais c'est justement afficher en gardant la taille originale sinon j'aurais utilisée une de ces galerie toute faite qui est nikel.

    Bon ce n'est pas dramatique, j'ai juste deux problème à résoudre.

    1/ Je veux que les images gardent leurs proportions.
    Facile j'ai juste mis une Height et pas de Width.

    2/ Quand je click sur l'image il faudrait qu'elle s'ouvre seule dans une autre fenêtre et dans sa taille d'origine.

    Et ça je ne sais pas le faire ou en tous les cas je ne sais pas le faire dans ce contexte...

    Bon c'est encore un truc bateau et je vais surement etre ridicule mais bon

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par puce_84 Voir le message
    ...et je vais surement etre ridicule mais bon
    Je ne peux pas te promettre que non.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($fichiers as $f) {
    	echo '<a href="'.$chemin.$f.'" target="_blank"><img height="100" alt="" src="'.$chemin.$f.'" alt="" /></a>'."\n";
    }
    Je t'encourage à avoir 2 dossiers :
    - 1 contenant les images Haute définition (celui que tu as déjà)
    - 1 contenant les pictos (images redimensionnées, spécialement pour l'affichage en nombre)
    Tu amélioreras ainsi grandement le temps d'affichage de la galerie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $chemin_picto = 'ft_pictos/';
    foreach($fichiers as $f) {
    	echo '<a href="'.$chemin.$f.'" target="_blank"><img height="100" alt="" src="'.$chemin_picto.$f.'" alt="" /></a>'."\n";
    }

  7. #7
    Membre éprouvé
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 037
    Par défaut
    En effet Puisse ce sujet disparaitre vite et profondément dans ce forum...

    Je ne peux pas faire comme tu dis avec un dossier pour les vignettes.
    Ce serait trop long à expliquer mais pas grave puisque pas un problème, les gens qui viennent là savent à quoi s'attendre et en plus je le rappel avec un petit message qui dit "Les images étant en HD leur affichage complet peut prendre plusieurs minutes...".

    Ceci étant dit il y a encore un truc.
    J'ai pour chaque dossier une image qui se manifeste mais ne s'affiche pas.
    Je pense que c'est ce qui s'afficherait comme étant "le retour au dossier précédant" dans une liste de fichiers.
    Bon c'est vraiment un détail mais si on sait l'enlever...
    En tous cas merci pour cette petite séance

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par puce_84 Voir le message
    Je pense que c'est ce qui s'afficherait comme étant "le retour au dossier précédant" dans une liste de fichiers.
    A priori non, puisque c'est déjà traité dans la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($f != '.' && $f != '..') {
    A vérifier.

    [EDIT] il te manque </a> !
    echo '<a href="'.$chemin.$f.'" target="_blank"><img height="100" src="'.$chemin.$f.'" alt="" /></a>'."\n";
    • "ridicule", pas forcément. (le vrai ridicule aurait été de ne pas poser la question.)
    • "distrait", sans aucun doute.
    Dernière modification par Invité ; 09/09/2013 à 23h25.

  9. #9
    Membre éprouvé
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 037
    Par défaut
    Bon j'ai trouvé, on atteint des sommets dans ma connerie !!!!!!!!

    J'ai honte mais bon je le met histoire qu'on ne sait jamais si quelqu'un passe ici drogué, ivre et très fatigué...

    L'Image "qui ne marche pas" est en fait simplement le fichier index.php qui génère le bazard.
    J'ai donc simplement fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($f != '.' && $f != '..' && $f != 'index.php')
    Et évidemment maitenant ça marche nikel !

    Merci en tous cas de ton aide.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Ce n'est pas encore fini !
    Tu n'as pas encore atteint le sommet !!

    Tu as DEUX FOIS alt="" !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="'.$chemin.$f.'" target="_blank"><img height="100" alt="" src="'.$chemin.$f.'" alt="" /></a>'."\n";

  11. #11
    Membre éprouvé
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 037
    Par défaut
    Je crois que je vais me mettre à boire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher des images sous directX
    Par cyberlewis dans le forum DirectX
    Réponses: 17
    Dernier message: 12/07/2004, 12h07
  2. Permutter des images dans ImageList ?
    Par GoustiFruit dans le forum Composants VCL
    Réponses: 2
    Dernier message: 19/12/2003, 09h07
  3. Interbase 6 et le type des images?
    Par AnestheziE dans le forum InterBase
    Réponses: 6
    Dernier message: 30/10/2003, 10h48
  4. question sur le format des images ..
    Par vbcasimir dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 28/08/2003, 12h08
  5. [TP][MULTI-PROBLEME]Comment afficher des images pcx
    Par mikoeur dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 24/10/2002, 13h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo