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 :

Recherche de fichiers par dates en php


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 121
    Points : 59
    Points
    59
    Par défaut Recherche de fichiers par dates en php
    bjr
    voici ce que j'aimerais avoir un bout de code de cette recherche par dates c'est a dire que j'aimerais par exemple tous les fichier compris entre le 011208 et le 311208...le fichier est de cette forme

    SEC17_COU_007_Demande_021208.pdf
    on a la section SEC17
    le type COU
    la refenrence 007
    l'objet Demande
    la date 021208

    Voici mon code qui via un formulaire me permet de faire une recherche multicritere
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
     
    <form action= "new2.php" method="post">
    	  <fieldset>
    	     <legend>Recherche des fichiers</legend>
     
    		     <label > Corps administratif     : </label ><input type ="text" name= "section" value= "<?php echo $_POST['section']; ?>"/> <br/> 
    			 <label > Type du courrier: </label > <input type ="text" name= "type" value= "<?php echo $_POST['type']; ?>" /><br/>
     
    			 <label > Reference du courrier: </label ><input type ="text" name= "reference" value= "<?php echo $_POST['reference']; ?>"/><br/> 
    			 <label > Objet du courrier   : </label ><input type ="text" name= "objet" value= "<?php echo $_POST['objet']; ?>"/>   <br/> 
                 <label > Date du courrier (jjmmaa)   : </label ><input type ="text" name= "date" value= "<?php echo $_POST['date']; ?>"/>   <br/> 
                 Recherche par date:
    			 <label > Recherche du courrier par jours (jj)   : </label ><input type ="text" name= "dateApproxiJJ" value= "<?php echo $_POST['dateApproxiJJ']; ?>"/><br/> 
    			 <label > Recherche du courrier par mois (mm)   : </label ><input type ="text" name= "dateApproxiMM" value= "<?php echo $_POST['dateApproxiMM']; ?>"/><br/> 
    			 <label > Recherche du courrier par annees (aa)   : </label ><input type ="text" name= "dateApproxiAA" value= "<?php echo $_POST['dateApproxiAA']; ?>"/><br/>
    			 RECHERCHE PAR INTERVAL DE DATE:
                 1ere date<input  type = "text" name="date1"/>
                 2ème date<input type = "text" name = "date2">
    			 <input type ="submit" name ="validez" value ="validez" />
    			 <input type ="submit" name ="tous" value ="affichez tous les fichiers PDF" />
     
    			 <input type="reset" name ="effacez" value="effacez"/>	
    		</fieldset>
    	 </form>			 			 
    </div>
     
    <div id="resultat">
     
    	<?php
    	      if (isset($_POST['validez'])){
     
       // on traite le formulaire en ouvrant le dossier et en entrant dans la fonction
     
    	         $dossier = 'Courrier/' ;
    	         $list = scandir($dossier);
    	         foreach ($list as $chaine) //identique a for mais specifié au tableau
    	              { 	
    				    $divfichier = explode('_',$chaine); //on decoupe les fichiers
    			        //$ApproxiAA = substr($divfichier[4], -4); //
     
    					$ApproxiJJ = substr($divfichier[4] , 0, 2); // recupere le jour de la date
    					$ApproxiMM = substr($divfichier[4] , 2, 2); // recupere le mois de la date
    					$ApproxiAA = substr($divfichier[4] , 4, 2); // recupere l'année de la date
     
    					$divfichierdateInterval = explode ('.', $divfichier[4]);
     
     
    	// jeu de majuscule sur les POST 
     
    			        $section = strtoupper($_POST['section']);
    		            $type = strtoupper ($_POST['type']);
                        $reference = strtoupper ($_POST['reference']);
                        $objet = strtoupper ($_POST['objet']);
    	                $date =  ($_POST['date']);
    				    $dateApproxiAA = strtoupper ($_POST['dateApproxiAA']);
    					$dateApproxiJJ = ($_POST['dateApproxiJJ']);
    					$dateApproxiMM = ($_POST['dateApproxiMM']);
    					$dateApproxiAA = ($_POST['dateApproxiAA']);
    				    $date1 =  ($_POST['date1']);
    	                $date2 = ($_POST['date2']);
     
     
     
       // jeu de majuscule sur les fichiers 
    					$chaine = strtr ($chaine, "é,è,ë,â,ä,à,ï,î,ô,ö,û,ü", "e,e,e,a,a,a,i,i,o,o,u,u");
                 		$chaine = strtoupper ($chaine); 
     
    	// on comparre les POSTS au fichiers
     
    			        if ((preg_match('`'.$section.'`', $divfichier[0])) AND
    						(preg_match('`'.$type.'`', $divfichier[1]))  AND
    							(preg_match('`'.$reference.'`', $divfichier[2]))AND
    								(preg_match('`'.$objet.'`', $divfichier[3])) AND
    									(preg_match('`'.$date.'`', $divfichier[4])) AND 
    									    (preg_match('`'.$dateApproxiJJ.'`', $ApproxiJJ)) AND
    										(preg_match('`'.$dateApproxiMM.'`', $ApproxiMM)) AND
    										(preg_match('`'.$dateApproxiAA.'`', $ApproxiAA)) )
    	                   {echo '<a href="'.$dossier.$chaine.'">'.$chaine.'</a><br/>';} 
    				  }
     
    				  }        
     
    ?>		   		 
     </div>
    </body>
    </html>
    pourriez vous m'aider svp je n'ai rien trouve sur le net

    merci

  2. #2
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Points : 143
    Points
    143
    Par défaut
    Tu utilises explode() avec comme séparateur le symbole _. Tu obtiensdras un tableau avec les différents éléments de tes noms de fichiers.

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 121
    Points : 59
    Points
    59
    Par défaut
    bjr

    merci pour ta reponse mais bon excuses moi je ne comprends pas trop ce que tu me demandes...le code fait deja une recherche multicritere mais je veux y ajouter un interval de date

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Points : 143
    Points
    143
    Par défaut
    Tu as au moins pris la peine de chercher ce que faisait la fonction explode() ? Si oui, tu aurais compris que ça répond à ta question.

Discussions similaires

  1. Rechercher un fichier par date de modif
    Par cellendhyll dans le forum Général Python
    Réponses: 19
    Dernier message: 27/05/2007, 17h58
  2. Classer des fichiers par date
    Par lorentdups dans le forum Langage
    Réponses: 3
    Dernier message: 01/10/2006, 17h14
  3. [Tomcat] répertoire de recherche de fichiers par defaut du tomcat
    Par Julia82 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 26/06/2006, 17h18
  4. Batch - Choisir un fichier par date de création
    Par Lorponos dans le forum Windows
    Réponses: 10
    Dernier message: 07/05/2006, 18h19
  5. Jeu de fichier par date...
    Par Little_Goldo dans le forum Linux
    Réponses: 2
    Dernier message: 17/03/2004, 11h09

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