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 sur des dossiers


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Points : 27
    Points
    27
    Par défaut recherche sur des dossiers
    Bonjour,

    Je voudrai faire une recherche dans 6 dossiers specifique mais mon dossier racine en contient 20.

    Je voudrai dire a mon moteur de recherche de faire la recherche que sur ces 6 dossiers.

    voici mon code

    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
     
    if (!empty($_POST['text']))
    {
     
     echo "<table width='500' class=tab align=center  cellspacing=2 cellpadding=2>"
         ."<tr class='contentGRAYnormal2'><td width='5%'><b>Type</b></td>"
    	 ."<td width='30%'><b>Nom du fichier</b></td>"
    	 ."<td width='30%'><b>Date de modification</b></td><td width='10%'><b>Taille</b></td></tr>\n";
     
     
      }
     
    function recherche ($directory)
    {
     
     	if (empty($_POST['text']))
    	{
     	echo "<meta http-equiv='refresh' content='text/html';URL=recherche.php>"; 
    	}
     
    	elseif ($dir = opendir($directory)) 
    	{
     
    		while ($file = readdir ($dir))
    		{
     
    			if (($file==$_POST['text']) || (eregi($_POST['text'],$file)))
        		{
     
     
    			affichage($directory,$file,$tabfichier,$tabsize);
    			//affichage2($tabfichier,$tabsize,$tabtaille,$tabdate);
    			}
        		if($file == "." || $file == "..") 
        		{
        		continue;
        		}
    			elseif (is_dir($directory."/".$file))
    			{
    			recherche($directory."/".$file);
    			}
    		} 
     
       closedir($dir);
     
     }
     
     
     
    }
     
    recherche(".");
     
     
    echo"</table><br>";
     
    ?>
    Merçi pour votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Si tu fais une recherche sur 6 dossiers spécifiques je ne vois pas d'autre solution que de les indiquer en dur.

    Ou bien je n'ai pas compris le sens de ta question ?
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  3. #3
    Membre confirmé Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Points : 514
    Points
    514
    Par défaut
    heu... n'appelle pas recherche($directory."/".$file); si $file (un directory) n'est pas dans la liste des dirs autorisés

    Edit: oops, c'est à la racine.

    Dans ces cas là, lors du while, filtre les directories

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Points : 27
    Points
    27
    Par défaut
    En faite je ne sai pas a quel endroit les rajouter.

    J'ai mi une condition apres mon premier elseif

    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
     
    elseif ($dir = opendir($directory)) 
    	{
    	   if ($directory == "1erdossier", "2emedossier")
               {
    		while ($file = readdir ($dir))
    		{
     
    			if (($file==$_POST['text']) || (eregi($_POST['text'],$file)))
        		{
     
     
    			affichage($directory,$file,$tabfichier,$tabsize);
    			//affichage2($tabfichier,$tabsize,$tabtaille,$tabdate);
    			}
                      .
                      .
                      .
                      .
                      .
                      .

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Si tu as 6 dossiers spécifiques à lister à ta racine, il faut que tu les précises explicitement.

    Le mieux étant, à mon avis, de laisser la fonction générique et de la faire démarrer à l'intérieur de chaque dossier
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  6. #6
    Membre confirmé Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Points : 514
    Points
    514
    Par défaut
    Le mieux étant, à mon avis, de laisser la fonction générique et de la faire démarrer à l'intérieur de chaque dossier
    Finalement, +1. C'est clair

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Points : 27
    Points
    27
    Par défaut
    Merçi beaucoup pour votre aide.

    J'ai fai appele à la fonction autant de fois qu'il y a de dossiers.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Index Server] Recherche sur des caractères chinois
    Par d1g-2-d1g dans le forum Autres langages
    Réponses: 5
    Dernier message: 13/11/2006, 10h54
  2. faire une recherche sur des "
    Par richard038 dans le forum Requêtes
    Réponses: 6
    Dernier message: 24/07/2006, 22h30
  3. probleme avec des filtres de recherche sur des dates
    Par MCarole dans le forum Access
    Réponses: 2
    Dernier message: 24/07/2006, 10h22
  4. Recherche sur des dates
    Par jroy dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 09/02/2006, 08h27
  5. Problème d'attribut de lecture seule sur des dossiers
    Par Redbull dans le forum Sécurité
    Réponses: 2
    Dernier message: 09/08/2005, 09h52

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