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 :

[Tableaux] Lister 2 dossiers et créer des miniatures de .jpg


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 110
    Points : 50
    Points
    50
    Par défaut [Tableaux] Lister 2 dossiers et créer des miniatures de .jpg
    Bonjours j'ai 2 dossiers
    images , qui contient des images en taille réelle
    thumbs , qui contient des miniatures de ces images.

    Je souhaiterai lister les dossiers images et thumbs et voir si il y'a l'image taille réelle et miniature ( ils ont le même nom )

    Si l'image n'a pas de miniature alors on la crée.

    voilà! help , si vous avez un script tout prés ca m'interesse aussi :d

    Matt

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    Tu as la fonction scandir qui permet de lister un dossier par ordre alphabétique. Il ne te reste plus ensuite qu'à voir les différences enter les 2 tableaux retournés.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 110
    Points : 50
    Points
    50
    Par défaut
    Ok merci!
    donc maintenant avec une boucle for je test si le fichier existe déja?

  4. #4
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Citation Envoyé par keishah Voir le message
    donc maintenant avec une boucle for je test si le fichier existe déja?
    C'est ça.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 110
    Points : 50
    Points
    50
    Par défaut
    eu j'réfléchi un peu et voilà :

    par exemple ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $dir    = 'images/';
    $dir2   = 'thumbs/';
     
    $files1 = scandir($dir);
    $files2 = scandir($dir2);
     
    for($i=0;$i<sizeof($files1);$i++)
      { 
       if(files1[i]!==files2[i])
         { /*on crée la miniature
           on recommence le test depuis le début*/ }
    }

  6. #6
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    heu non, ton code va planter (tu oublie les "$" devant les "i" et "files"):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $dir    = 'images/';
    $dir2   = 'thumbs/';
     
    $files1 = scandir($dir);
    $files2 = scandir($dir2);
     
    for($i=0;$i<count($files1);$i++)
      { 
       if($files1[$i]!==$files2[$i])
         { /*on crée la miniature
           on recommence le test depuis le début*/ }
    }
    Par contre dans ce cas, tu ne vérifies que dans un sens (si une image à bien une thumb mais pas l'inverse).

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 110
    Points : 50
    Points
    50
    Par défaut
    oui c'est ce que j'ai fait
    ça marche en local mais sur free :


    Fatal error: Call to undefined function: scandir() in /mnt/150/sdb/d/7/dev.matt/test.php on line 5

    et pour créer une miniature? :S ^^

  8. #8
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Si tu as cet erreur c'est que tu utilises une version de PHP antérieur à la 5.

    Sur le lien vers scadir que je t'ai donné, regarde, il y a une alternative à scandir pour les version de PHP antérieure à la 5 justement.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    Y a plus simple tu parcour ton dossier avec la fonction adequat (cf FAQ sur ce site)
    A chaque fois que tu croise un fichier tu test l'existence de la miniature.
    Si elle existe pas tu la crees.

    Alors je te donne le debut du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $pointeur = opendir($nom_repertoire);
    $res_rep = array();
     
     //pour chaque fichier et dossier
    while ($fichier = readdir($pointeur)){
         if(($fichier != '.') && ($fichier != '..')){
     	if (!is_dir($nom_repertoire.'/'.$fichier)){
    	            //Ici tu test l'existence de la miniature
             	}
         }
     }
    closedir($pointeur);

Discussions similaires

  1. [Images] Créer des miniatures d'une image
    Par jeangaza dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 15/06/2010, 15h42
  2. [Tableaux] Lister un dossier : le tableau est vide
    Par jonjon83 dans le forum Langage
    Réponses: 2
    Dernier message: 31/03/2009, 23h36
  3. [Tableaux] Lister contenu dossier et le download
    Par moutey dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2007, 13h49
  4. Réponses: 2
    Dernier message: 20/01/2006, 17h08

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