Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/02/2007, 14h33   #1
Invité régulier
 
Inscription : janvier 2007
Messages : 38
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 38
Points : 9
Points : 9
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 :
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.
Marcus15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 14h41   #2
Membre chevronné
 
Inscription : juin 2005
Messages : 572
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : juin 2005
Messages : 572
Points : 690
Points : 690
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 ?
ratapapa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 14h45   #3
Membre éprouvé
 
Avatar de goodpz
 
Inscription : février 2007
Messages : 475
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 475
Points : 474
Points : 474
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
goodpz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 14h51   #4
Invité régulier
 
Inscription : janvier 2007
Messages : 38
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 38
Points : 9
Points : 9
En faite je ne sai pas a quel endroit les rajouter.

J'ai mi une condition apres mon premier elseif

Code :
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);
			}
                  .
                  .
                  .
                  .
                  .
                  .
Marcus15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 14h56   #5
Membre chevronné
 
Inscription : juin 2005
Messages : 572
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : juin 2005
Messages : 572
Points : 690
Points : 690
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
ratapapa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 14h59   #6
Membre éprouvé
 
Avatar de goodpz
 
Inscription : février 2007
Messages : 475
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 475
Points : 474
Points : 474
Citation:
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
goodpz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 15h17   #7
Invité régulier
 
Inscription : janvier 2007
Messages : 38
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 38
Points : 9
Points : 9
Merçi beaucoup pour votre aide.

J'ai fai appele à la fonction autant de fois qu'il y a de dossiers.
Marcus15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h28.


 
 
 
 
Partenaires

Hébergement Web