Résolu Récupération et tri de fichiers (PHP)

Solutions (3)
Tags :
  • Pdf
  • Php
  • web
  • Programmation
|
Bonjour tout le monde,

J'ai un petit problème sur un site web que je suis en train de créer. Je viens donc ici en quête d'une âme charitable connaissant une solution.

Alors tout d'abord, un petit aperçu de la "hiérarchie" des dossiers/fichiers.

J'ai donc un dossier "Rapports" qui contient d'autres sous-dossiers (client1, client2....). Chaque sous-dossier contient un certains nombre de fichiers nommés tel quel : "nom_du_client.jour.mois.annee.pdf".

Donc en gros :

Rapports --> client1 --> client1.15.01.2000.pdf + client1.12.11.2003.pdf + client1.25.01.2001.pdf + ...
******* --> client2 --> client2.10.11.2008.pdf + client2.18.01.2003.pdf + client2.21.01.2001.pdf + ...


En fait, il me faudrait afficher un lien vers les 5 fichiers les + récents (soit par leur date de modification, soit par la date comprise dans le nom, peu importe).

Je suppose qu'il me faudrait faire une sorte de tableau associatif contenant le nom de chaque fichier et leur date de modification correspondante (donc filemtime() ). Ensuite trier ce tableau et afficher les 5 premiers. Mais à partir de là je sèche... Quelqu'un aurait une idée plz ? Merci d'avance ;) 

Contenus similaires
Meilleure solution
partage
|
Le plus simple, c'est de remplir un array de la forme suivante:
  1. <?php
  2. // $files est un tableau qui contient la liste de tes fichiers)
  3. $tosort = array();
  4. foreach ($files as $k => $file) {
  5. $name[$k] = $file;
  6. $date[$k] = filemtime($file);
  7. $datas[$k] = array('name' => $name[$k], 'date' => $date[$k]);
  8. }
  9. array_multisort($date, SORT_DESC, $name, SORT_ASC, $datas);
  10. $splitdatas = array_chunk($datas, 5);
  11. // $splitdatas[0] contient les 5 fichiers les plus récents
  12. ?>

  • Commenter cette solution |
Score
0
òh
òi
|
Meilleure réponse sélectionnée par Arkalord.
  • Commenter cette réponse |
Score
0
òh
òi
|
Merci, je testerai ça demain matin :)  Je vous tiens au jus !
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS