Trier un tableau avant son enregistrement dans un fichier log ?

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Trier un tableau avant son enregistrement dans un fichier log ?

    Bonjour,

    La question n'est pas spécifique à Joomla!, mais je n'ai pas trouvé de réponse, ayant peut-être mal cherché. Pourtant, il me semblait avoir un exemple...
    En fait, j'obtiens un tableau à deux colonnes : date et nom dans un ordre que je ne maîtrise pas. Je voudrais l'enregistrer et triant sur la date pour que sa lecture soit facile.
    Comment y arriver ?

    Merci de votre aide !
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

  • #2
    Ça dépend comment vous obtenez ces données. Si c'est apr une requête MySQL, vous pouvez ajouter une clause ORDER BY sur la date.
    Tous les services pour les sites Joomla! : sécurité, nettoyage de sites piratés, hébergement, SEO, applications Fabrik, migration, compatibilité mobiles, accessibilité, ...
    Administrateur certifié Joomla! 3
    https://www.betterweb.fr

    Commentaire


    • #3
      Merci, non c'est un listing de répertoire avec une date et un nom de fichier.
      "sort" ne me semble pas convenir et pour le moment je n'ai pas compris comment et si je pourrais utiliser "arraysort"
      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

      Commentaire


      • #4
        En php, il y a cent mille façons de trier. Je pense que asort pourrait t'aider (https://www.php.net/manual/fr/function.asort.php). Si pas, donne un exemple (un var_dump p.ex.) de ce à quoi ressemble ton tableau et donne aussi un exemple du tri que tu aimerais.
        Christophe (cavo789)
        Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
        Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

        Commentaire


        • #5
          Voici un exemple de l'ordre de lecture dans le dossier :
          11 08 2021 08:53:38. - 16286719384232667012863004046300.jpg
          17 08 2021 16:52:46. - 1629219166_Document scann.pdf
          25 03 2021 08:56:40. - 165095683_1451394211878888_6272558580271681252_n.j pg
          25 03 2021 09:00:15. - 165272147_515414369848799_881988432519226430_n.jpg
          21 04 2021 20:55:50. - 176305935_4505735299442503_8607333612154581124_n.j pg
          30 12 2020 08:27:06. - 20140818 - carte.pdf
          21 12 2020 10:18:36. - 20190509_124555.jpg
          Le tableau est créé ainsi (l'id est donc la date du fichier à laquelle on associe le nom)
          Code:
          $id_fichier = date ("d m Y H:i:s.", $mTimeFile);
          $Tableau_Fichiers ["$id_fichier"] = $fichier ;
          Enfin, l'écriture :
          foreach ($Tableau_Fichiers as $id_fichier => $path_fichier)
          {
          fputs($LogFile, $id_fichier ." - " . $path_fichier . "\n");
          }
          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

          Commentaire


          • #6
            Je m'attendais à ce que tu donnes un vrai tableau et pas un listing ;-)

            Si je comprends bien, tu es dans un schéma traditionnel key-value et donc tu veux trier sur la clef.

            La fonction ksort devrait convenir : https://www.php.net/manual/fr/function.ksort.php
            RobertG aime ceci.
            Christophe (cavo789)
            Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
            Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

            Commentaire


            • #7
              Merci Christophe ! En effet c'est la solution, en inversant la clé date en "Y m d".
              "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
              MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X