script php permettant de faire un scan d'un répertoire

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 : script php permettant de faire un scan d'un répertoire

Re: script php permettant de faire un scan d'un répertoire

par Berzemus » 26 août 2009, 11:40

Soit tu t'y essayes avec les objets COM ( http://stephaneey.developpez.com/tutoriel/php/phpexcel/ ),
soit en exportant un fichier CSV (http://fr3.php.net/manual/fr/function.fputcsv.php , http://www.ndfr.net/forums/archive/inde ... -3416.html )

C'est quand même bien fait google.

Re: script php permettant de faire un scan d'un répertoire

par Invité » 26 août 2009, 10:56

Merci beaucoup pour vos réponses, j'ai quasi réussi, j'ai juste du mal à sortir le résultat dans un fichier excel.....

Re: script php permettant de faire un scan d'un répertoire

par AB » 24 août 2009, 19:34

Je me souviens d'avoir fait ca pour mon stage.
...Si c'est des dossiers tu rappels la fonction. Ca donne une fonction incursive (désolé si c'est pas le
nom la fatigue tout ca :D ).
C'est pas le nom mais ça rime
incursif :
1. Qui fait irruption, qui envahit.

récursif :
1. Qui se définit en s’utilisant soi-même, directement ou indirectement.
Puisque c'est une fonction qui s'appelle elle-même quand on détecte un dossier (comme tu le dis justement) on choisira le terme de fonction récursive :)

Un exemple qui n'utilise pas scandir mais l'ancienne méthode avec opendir etc. (toujours fonctionnelle cependant) pour avoir un tableau facilement exploitable :
class List_dossier

{

        private $tab_list = array();
        private $message = null;


        public function __construct ($dos = null)
        {
        if (isset($dos) && is_dir($dos)) $this->Lire_Dossier($dos); else $this->message = 'Ce dossier n\'existe pas';  
        }


        private function Lire_Dossier($dir_nom)
        {
                        $dir = opendir($dir_nom);
                       
                         while($element = readdir($dir))
                                {
                                        if($element != '.' && $element != '..')                
                                                {
                                                         if (!is_dir($dir_nom.'/'.$element))
                                                                {
                                                                 $this->tab_list[$dir_nom][] = $element;
                                                                 }
                                                         else
                                                                 {
                                                                 $this->Lire_Dossier($dir_nom.'/'.$element);
                                                                 }
                                                }
                                }
                           
                        closedir($dir);
               
        }

       
        public function Affiche ()
        {
        if (!isset($this->message)) return $this->tab_list; else return $this->message;
        }
}


// remplace 'Mon_dossier' par un de tes dossiers
$dossier = new List_dossier('Mon_dossier');

// Contrôle du contenu du tableau généré avec $dossier->Affiche()
echo '<pre>';
print_r($dossier->Affiche());
echo '</pre>';
EDIT : comme j'ai tardé à répondre je n'avais pas vu la réponse de thehawk mais je laisse mon post car cette petite classe possède l'avantage de lister le nom des sous dossiers.

Re: script php permettant de faire un scan d'un répertoire

par thehawk » 24 août 2009, 19:12

Je me souviens d'avoir fait ca pour mon stage.
En fait tu dois faire un scandir et tester avec la fonction dir() si les éléments de ton répertoire sont des dossiers
ou des fichiers. Si c'est des dossiers tu rappels la fonction. Ca donne une fonction incursive (désolé si c'est pas le
nom la fatigue tout ca :D ).
Le nom est récursive ;)
function recursifDir($url)
{
		$return = array();
	if ($handle = opendir($url)) {
		while (false !== ($file = readdir($handle))) {
			if ($file != "." && $file != "..")  
			{
				if (is_file($url.'/'.$file))
				{
					$return[] = $file
				}
				
				if (is_dir($url.'/'.$file))
				{
					$return[] = recursifDir($url.'/'.$file);
				}
			}
			
		}
		closedir($handle);
	}

	return $return;
}
Voici un exemple ;)
Bye Hawk

Re: script php permettant de faire un scan d'un répertoire

par Superpilou » 24 août 2009, 18:48

Je me souviens d'avoir fait ca pour mon stage.
En fait tu dois faire un scandir et tester avec la fonction dir() si les éléments de ton répertoire sont des dossiers
ou des fichiers. Si c'est des dossiers tu rappels la fonction. Ca donne une fonction récursive (merci de la précision
j'y étais presque :o ).

Re: script php permettant de faire un scan d'un répertoire

par Victor BRITO » 24 août 2009, 13:38

À défaut de chercher sur Google, tu peux commencer par explorer les arcanes de la fonction scandir (). ;)

Re: script php permettant de faire un scan d'un répertoire

par zeus » 24 août 2009, 12:12

En recherchant sur google, oui.
Ce que tu cherches à faire en très souvent demandé, et tu devrais trouver de nombreuses sources.

http://www.google.com/search?q=site%3Aw ... A9pertoire

script php permettant de faire un scan d'un répertoire

par jbt » 24 août 2009, 11:47

Bonjour,

Je souhaite faire un script php permettant de faire un scan d'un répertoire, avec tous les sous répertoire, avec un rendu final dans un fichier excel.
Le but est de garder une liste de mode opératoire à jour.

Cela est il accessible pour un novice?

Merci.