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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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";
    }

+ 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