savoir si un repertoire est vide

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : savoir si un repertoire est vide

par jujub » 12 juil. 2005, 10:33

En fait il ne m'affiche plus que l'icone fax off avec le code suivant (l'ancien ne fonctionnait pas en fait)
if ($handle = opendir('/chemin/du/repertoire/')) 
				{
 				  $file = readdir($handle);
				  
      					 if ($file != "." && $file != "..") 
					{
          				 echo"<td><a href='fich.php'><img src=oui.gif'></a></td>";
       				 	}
					else
					{
					echo"<td><a href='fich.php'><img src=non.gif'></a></td>";
					}
   				  
   				 closedir($handle);
				}
ça fait longtemp que je cherche et pas de réponse Help :oops:

par jujub » 01 juil. 2005, 10:59

OK j'avais pas vu le lien.......

Mais c'est bon j'ai trouver :
if ($handle = opendir('rep/monrep')) {
   echo "Directory handle: $handle\n";
   echo "Files:\n";
$file = readdir($handle);
   /* Ceci est la façon correcte de traverser un dossier. */
   if (!empty($file)&&$id_file!='.'&&$id_file!='..') 
   {
       //echo "$file\n";
       echo"<td><a href='repertoire.php'><img src='icones.gif' alt='Explorateur'></a></td>";
   }
   else 
   {
   echo"<td><a href='repertoire.php'><img src='icone.gif' alt='Explorateur'></a></td>";
   }

   closedir($handle);
} 	

par mere-teresa » 01 juil. 2005, 10:48

y'a t'il moyen de dégager ces deux répertoire avec php......
Si tu suivais mes conseils.... :roll:
Clique !
http://fr.php.net/manual/fr/function.readdir.php

par jujub » 01 juil. 2005, 10:40

y'a t'il moyen de dégager ces deux répertoire avec php......

par smarties » 01 juil. 2005, 10:36

Au passage tu as 2 fichiers (c'est des raccourcis même :wink: ) même si ton répertoire est vide :
.
..

. => répertoire courant
.. => répertoire parent

par jujub » 01 juil. 2005, 10:30

lerreur est la suivante
Directory handle: Resource id #2 Files: .

par mere-teresa » 01 juil. 2005, 10:28

En ce cas, c'est ton test qui n'est pas bon. Mais j'avoue que je ne sais pas trop.

Réfléchis bien à ce que tu lui demande de tester, et à comment ça se dit en PHP.

par jujub » 01 juil. 2005, 10:25

if ($handle = opendir('repertoire/monrep')) {
   echo "Directory handle: $handle\n";
   echo "Files:\n";

   /* Ceci est la façon correcte de traverser un dossier. */
   if (false !== ($file = readdir($handle))) {
       echo "$file\n";
       echo"<td><a href='repertoires.php'><img src='icones.gif' alt='Explorateur'></a></td>";
   }
   else 
   {
   echo"<td><a href='corec/repertoires2.php'><img src='icones.gif' alt='Explorateur'></a></td>";
   }
closedir($handle);
}


mais meme le fichier vide il affiche toujours
<td><a href='repertoires.php'><img src='icones/fax-on.gif' alt='Explorateur'></a></td>";
c'est bizarre non?

par mere-teresa » 01 juil. 2005, 10:11

Ce n'est pas un répertoire que la fonction readdir mais un handle (un pointeur). Il te faut donc créer ce pointeur, à l'aide de la fonction opendir() par exemple...

Lis le manuel

<?php
// Notez que !== n'existait pas avant 4.0.0-RC2

if ($handle = opendir('/chemin/vers/fichiers')) {
   echo "Directory handle: $handle\n";
   echo "Files:\n";

   /* Ceci est la façon correcte de traverser un dossier. */
   while (false !== ($file = readdir($handle))) {
       echo "$file\n";
   }

   /* Ceci est la MAUVAISE façon de traverser un dossier. */
   while ($file = readdir($handle)) {
       echo "$file\n";
   }

   closedir($handle);
}
?> 
Description
string readdir ( resource dir_handle )

readdir retourne le nom du fichier suivant dans le dossier identifié par dir_handle . Les noms sont retournés dans l'ordre qu'ils sont enregistrés dans le système de fichiers.

Liste de paramètres

dir_handle
La ressource de dossier ouverte précédemment avec opendir .

par jujub » 01 juil. 2005, 09:55

desolé ........ça marche pas....
voilà
Warning: readdir(): supplied argument is not a valid Directory resource in /var/www/html/read.php on line 4

par Cyrano » 01 juil. 2005, 09:48

Ce que tu ne nous dis pas, c'est ce qui ne fonctionne pas et si tu as ou non un message d'erreur ?

savoir si un repertoire est vide

par jujub » 01 juil. 2005, 09:44

Salut j'essaye d'afficher une image en fonction d'une condition .Si le repertoire est vide on afiche telle image et sinon on affiche l'autre....Voici le code
$rep = "var/www/html/monrepertoire";
$lire =readdir($rep);
				if(empty($lire))
				{
				echo"<td><a href='repertoire.php'><img src='icones.gif' alt='Explorateur'></a></td>";
				}
				else
				{
				echo"<td><a href='repertoire.php'><img src='icones.gif' alt='Explorateur'></a></td>";
				}

merci d'acceder à ma requette :P :wink: