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

EDI, CMS, Outils, Scripts et API PHP Discussion :

lister des fichiers selon des critères


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 134
    Points : 50
    Points
    50
    Par défaut lister des fichiers selon des critères
    Bonjour, je voudrais incorporer un recherche des fax dans notre intranet nos fax arrivent via un logiciel en pdf et sont transmis par mail aux utilisateurs, ils sont archivés ensuite dans un repertoire. Je voudrais lister ces fichiers selon la date de création du fax mois et année. j'arrive a lister tous les fax mais je n'arrive pas à les filtrer.
    comment puis faire pour les filtrer ?

    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
     
     
     
    $mois=10;
    $annee=2005;
     
    if ($fax==0327531064 and $type=='recus')
    {
    $homedir="/../../Archive Fax/03 27 53 10 64/Recus/";
    $dir=opendir($homedir);
    while ($file = readdir($dir)) {
     
    if ($file != "." && $file != "..") {
    echo "$file<br>";
    &#125;
    &#125;

    cordialement,
    Corben

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Je ne crois pas que la date de création soit récupérable (sinon je suis vivement intéressé)

    Pour connaitre la date de modif http://us3.php.net/manual/en/function.filemtime.php

    Tu mets ca dans un tableau avec le nom du fichier, et ensuite tu trie ce tableau par date et tu affiches.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 134
    Points : 50
    Points
    50
    Par défaut
    ok alors j'arrive a afficher les informations date de modification et nom.
    je regarde le fonctionnement des tableaux sous php car je suis débutant ds ce langage et je te tiens au courant un grand merci.

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Bon courage
    Tiens, cadeau de bienvenue : http://php.developpez.com/faq/?page=tableaux

  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Allez c'est la fête :
    http://us3.php.net/usort

    Avec tout ca tu as tout les éléments en main !

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 134
    Points : 50
    Points
    50
    Par défaut
    Voila j'avance un petit peu dans ce script. J'utilise pour la première fois les tableaux en php. Est ce que c'est la bonne méthode
    merci bcp


    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
    if &#40;$fax==0327531064 and $type=='recus'&#41;
    &#123;
            $repertoire="/../../Archive Fax Sculfort/03 27 53 10 64/Recus/";
            $dir=opendir&#40;$repertoire&#41;;
     
            $listefax = array&#40;&#41;;
            while &#40;$file = readdir&#40;$dir&#41;&#41; &#123;
     
                if &#40;$file != "." && $file != ".."&#41;
                &#123;
                $listefax&#91;&#93; = array&#40;$file,date &#40;'d', filemtime&#40;$repertoire.$file&#41;&#41;,date &#40;'m', filemtime&#40;$repertoire.$file&#41;&#41;,date &#40;'Y', filemtime&#40;$repertoire.$file&#41;&#41;,date &#40;'H&#58;i&#58;s', filemtime&#40;$repertoire.$file&#41;&#41;&#41;;
     
     
                $nbrfax++;
                &#125;
            &#125;

  7. #7
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    C'est bien !

    Je te conseil d'utiliser les tableaux associatifs, bien plus pratiques pour retrouver ses petits :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $listefax&#91;&#93; = array&#40;
       'file' => $file,
       'jour' => date &#40;'d', filemtime&#40;$repertoire.$file&#41;&#41;,
       'mois' => date &#40;'m', filemtime&#40;$repertoire.$file&#41;&#41;,
       'annee' => date &#40;'Y', filemtime&#40;$repertoire.$file&#41;&#41;,
       'heure' => date &#40;'H&#58;i&#58;s', filemtime&#40;$repertoire.$file&#41;&#41;&#41;;
    Ainsi tu retrouves tes données grace à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $listefax&#91;xxx&#93;&#91;'file'&#93;
    par exemple.

    ta variable nbrfax est redondante, tu fais un count($listefax) une fois qu'il est rempli et tu auras le nombre de fax.
    Sinon je te conseille le format YmdHis pour trier, une simple comparaison gre aux opérateurs < ou > suffit !

    Quand tu veux savoir ce que contient un tableau, utilise var_dump($listefax) , tu obtiendras tout sur la structure

  8. #8
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    J'ai presque compris pour un listage par oredre chronologique.
    Mais par ordre alphabétique, est-ce possible aussi ?

    Par avance, merci.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 134
    Points : 50
    Points
    50
    Par défaut
    Voila j'utilise la méthode que tu m'as conseillé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     while &#40;$file = readdir&#40;$dir&#41;&#41; 
            &#123;
                if &#40;$file != "." && $file != ".."&#41;
                      &#123;
                      $listefax&#91;&#93; = array&#40;
                     'file' => $file,
                     'dateheure' => date &#40;'YmdHis', filemtime&#40;$repertoire.$file&#41;&#41;,
     
                     &#41;;                 &#41;;
     
     
            &#125;

    j'obtiens ca comme résultat lors de l'affichage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    array&#40;4024&#41; &#123; &#91;0&#93;=> array&#40;5&#41; &#123; &#91;"file"&#93;=> string&#40;12&#41; "pdf00000.pdf" &#91;"jour"&#93;=> string&#40;2&#41; "06" &#91;"mois"&#93;=> string&#40;2&#41; "01" &#91;"annee"&#93;=> string&#40;4&#41; "2005" &#91;"heure"&#93;=> string&#40;8&#41; "10&#58;00&#58;49" &#125; &#91;1&#93;=> array&#40;5&#41; &#123; &#91;"file"&#93;=> string&#40;12&#41; "pdf00001.pdf" &#91;"jour"&#93;=> string&#40;2&#41; "10" &#91;"mois"&#93;=> string&#40;2&#41; "01" &#91;"annee"&#93;=> string&#40;4&#41; "2005" &#91;"heure"&#93;=> string&#40;8&#41; "16&#58;39&#58;07" &#125; &#91;2&#93;=> array&#40;5&#41; &#123; &#91;"file"&#93;=> string&#40;12&#41; "pdf00002.pdf" &#91;"jour"&#93;=> string&#40;2&#41; "11" &#91;"mois"&#93;=> string&#40;2&#41; "01" &#91;"annee"&#93;=> string&#40;4&#41; "2005" &#91;"heure"&#93;=> string&#40;8&#41; "17&#58;33&#58;09" &#125; &#91;3&#93;=> array&#40;5&#41; &#123; &#91;"file"&#93;=> string&#40;12&#41; "pdf00003.pdf" &#91;"jour"&#93;=> string&#40;2&#41; "19" &#91;"mois"&#93;=> string&#40;2&#41; "01" &#91;"annee"&#93;=> string&#40;4&#41; "2005" &#91;"heure"&#93;=> string&#40;8&#41; "15&#58;13&#58;06" &#125;

    Par contre maintenant pour la partie trie

    j'aimerais faire deux listes déroulantes avec une pour le mois $mois et une autre pour l'année $annee

    mais pour comment je dois faire pour trier mon tableau pour qu'il me donne le resultat par un mois .

    Merci bcp

  10. #10
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par Corben
    j'aimerais faire deux listes déroulantes avec une pour le mois $mois et une autre pour l'année $annee

    mais pour comment je dois faire pour trier mon tableau pour qu'il me donne le resultat par un mois .
    J'ai pas tout compris. Tu pourrais pas exprimer ton besoin un peu plus clairement ?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 134
    Points : 50
    Points
    50
    Par défaut
    dsl, oui pas de prb

    alors en fait le but de ce script est de rechercher tous les fax à une date bien précise.
    c'est pourquoi de je te parlais de faire un formulaire avec deux liste déroulante une pour le mois et une pour l'année.

    mon problème c'est que je ne vois pas comment faire pour filtrer mon tableau en fonction formulaire.

    par ex : tous les fax du 10.03.05 au 11.04.05

    alors pour le formulaire je vois comment faire mais pour filtrer le tableau en fonction des valeurs du form.. je ne vois pas comment .

    Merci bcp

  12. #12
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    rappelle nous la structure de ton tableau car il y a une incohérence dans un de tes précédents posts

  13. #13
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function compare_par_date&#40;$a, $b&#41;
    &#123;
       return strcmp&#40;$a&#91;"dateheure"&#93;, $b&#91;"dateheure"&#93;&#41;;
    &#125;
     
    echo '<pre>'; //juste pour la demo
    var_dump&#40;$listefax&#41;;
    usort&#40;$listefax, 'compare_par_date'&#41;;
    var_dump&#40;$listefax&#41;;

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/05/2015, 12h40
  2. [XL-2007] Récupérer les fichiers selon des critères
    Par mouftie dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 23/01/2015, 18h10
  3. Réponses: 3
    Dernier message: 01/02/2007, 21h05
  4. Boucle en Dos pour lister des fichiers selon une date
    Par Corben dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 17/12/2005, 13h17
  5. |VB6] Comment Lister les liens vers des fichiers d'une page web
    Par Mayti4 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 18/01/2005, 19h17

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