Annonce

Réduire
Aucune annonce.

pb de listage de fichier en php

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

    Bon alors voila je suis en train de faire un script php pour la page de covers de Segacd-drive mais j'ai un pb. Certain fichier sont pas dans le bon ordre (alphabetique) et je sait pas d'ou ca vien car c'est nomé correctement.
    Voici le script :
    $repertoire = "covers/";

    $id_dossier = opendir($repertoire);

    while ($fichier = readdir($id_dossier)){

    $id_fichier = $repertoire.$fichier;

    if(is_file($id_fichier)){

    echo ("

    ".substr($fichier, 0, strlen($fichier)-4)."");

    }

    $fichier = readdir($id_dossier);

    $id_fichier = $repertoire.$fichier;

    if(is_file($id_fichier)){

    echo ("
    ".substr($fichier, 0, strlen($fichier)-4)."
    ");

    }

    }

    closedir($id_dossier);

    Voila je pourais passer par le mysql, ca resoudrait peut etre le pb, mais je pense qu'il doit y avoir un moyen bien plus simple et moin lourd pour le serveur que cette methode.
    http://forums.planetemu.net/picture.php?albumid=17&pictureid=206
    http://zapier.planetemu.net/planetars/2013/bannieres-2013/kobras-planetars2013-bannieres.gif

    Un conseil, travaille sur une base de array, ca marchera mieux

    $id_dossier = opendir($repertoire);

    while ($fichier = readdir($id_dossier)){

    $id_fichier[] = "$repertoire/$fichier";

    //Mettre dans un array et avec des quotes, pour ne pas quancaténer avec un '.', et plutot utiliser un / qui permettra de générer un lien facilement dans une url variables, car ca foutrait la merde.
    Pour extraire le nom du fichier, on pourra faire un :
    ($1,$2)=split("/",$var); Voir plus bas !!!!!

    Une fois ceci fait, classe ton array par ordre alphabétique avec un : sort($id_fichier);

    Puis affiche le tout par un :

    foreach ($id_fichier AS $var)
    {
    faire l'afficage en fonction de $var avec le split
    }

    Essaye par toi même, et si tu as un doute, je pourrai t'aider sans problème
    J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone.
    Mon rêve s'est réalisé: je ne sais plus comment utiliser mon téléphone (Bjarne Stroustrup, auteur du langage C++)

    Commentaire


      J'en ai déjà fait un de petits scripts dans le genre

      <?php

      $images = array();

      $dossiers = "nom_du_dossier";

      $handle=opendir($dossiers);

      while ($file = readdir($handle))
      {
      array_push($images, $file);
      }

      closedir($handle);

      shuffle($images); // toi tu dois remplacer shuffle par sort()

      $nbr = count($images);

      for($i = 0; $i < $nbr ; $i++)
      {
      if($images[$i] != "." && $images[$i] != ".." && $images[$i] != "Thumbs.db") // Thumbs.db, un truc de Windows ca
      {
      echo ("n");
      }
      }

      ?>

      Commentaire


        Merci bpc à vous 2, j'ai d'abord esseyé la methose à tonio m'ais ca merdais au niveau du split et j'ai pas réussit à corriger l'erreur donc j'ai esseyé la methode à nicolas et la aucun pb
        Ca marche nickel
        http://forums.planetemu.net/picture.php?albumid=17&pictureid=206
        http://zapier.planetemu.net/planetars/2013/bannieres-2013/kobras-planetars2013-bannieres.gif

        Commentaire


          T'avais quoi comme message d'erreur ?

          Par contre, tu devrais vérifier l'ouveture du popup, avec Mozilla pas de popup

          Error: illegal character
          Source Code:
          `javascript:window.open('./covers/Jeopardy-back.jpg','SegaCDDrive','toolbar=0,location=0,dire ctories=0,menuBar=0,scrollbars=0,resizable=0,left= 0,right=0,width=400,height=565');`

          Ne met pas javascript: au début

          Et avec IE les popups s'ouvrent, mais ils n'ont pas la bonne taille (il manque un petit bout à droite) :-

          Commentaire

          Chargement...
          X