begin process at 2012 05 27 17:56:36
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Class et Objet ( POO )

 > PHP5 - ARBORESCENCE SERVEUR + SUIVI PROJET

PHP5 - ARBORESCENCE SERVEUR + SUIVI PROJET


 Information sur la source

Note :
Aucune note
Catégorie :Class et Objet ( POO ) Classé sous :arborescence, server Niveau :Initié Date de création :21/07/2006 Vu / téléchargé :6 331 / 481

Auteur : pastis51forever

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Cette classe PHP5 permet de créér un fichier html pour le suivi d'un projet:
Il inscrit l'arborescence serveur (avec taille et nombre des dossiers et fichiers) avec quelques détails pouvant être utiles pour le suivi d'un projet, dans les fichiers php:
-Nombre de lignes de commentaire/Nbre de lignes total;
-Eventuelle connexion à Mysql;
-Nbre de fichiers inclus (Je sais pas si ca peut vous servir, moi oui, alors je vous le laisse...);
Cette liste devrait évoluer avec mes besoins, ou avec les votres si ca vous interesse

Quelques paramétrages:
-Possibilité de choisir de ne pas afficher certains dossiers (par leur nom)
-Possibilité de choisir  soit toutes les extensions qu'on veut afficher, soit celles qu'on ne veut pas afficher
-Choix de si on veut ou pas afficher les dossiers vides (ou du moins qui ne contiennent
aucun fichier que l'on veut afficher)
-Choix des icones standardes ou de celles que vous désirez
-Choix d'afficher ou non les statistiques des fichiers php décrites au-dessus.
-Choix de conserver le bout de css qui est dans le fichier test_arbre.php, ou d'en créer un vous-même

En préparation:
-Notification dans les statistiques des fichiers contenant du javascript
-Application d'un fonction de callback définie par l'utilisateur sur les fichiers du type qu'il selectionne (Pour permettre, par exemple, de stocker dans un répertoire a_graver tous les fichiers dont la date de derniere modification est plus récente que x jours)
-Réctification des éventuelles erreurs trouvées par les utilisateurs
-Ajout de ce qui vous plaira, dans la limite du possible et de l'utile :-)


Un exemple d'utilisation est fourni dans le zip, avec des icones etc...

Source

  • <?php
  • class arbre
  • {
  • private $dossier;//Dossier de base à parcourir
  • private $extensions;//voir plus bas
  • private $dossiers_exclus;//voir plus bas
  • public $unite_indentation = ' &nbsp; &nbsp; &nbsp; &nbsp;';//de base, plusieurs espaces, mais peut être remplacé par n'importe quoi (même des trucs pas beaux)
  • public $afficher_dossiers_vides=TRUE;//TRUE/FALSE: On affiche (ou pas) les dossiers vides
  • public $lister_parametres_php=TRUE;//TRUE/FALSE: On liste (ou pas) les paramètres choisis pour les fichiers php
  • public $chemin_icones='icones/';//chemin vers le dossier contenant les icones.
  • //ATTENTION: les icones sont des fichiers gif ou jpeg nommés uniquement par l'extension; ex: $this->chemin_icones.'/php' est le nom de l'icone pour les fichiers php. Il n'y a pas d'extension
  • /*
  • $extensions est un tableau contenant les extensions autorisées ou interdites;
  • Si $extensions[0]='*', alors on accepte tout sauf le reste du tableau, sinon
  • on accepte uniquement les extensions du tableau
  • $dossiers_exclus contient les dossiers à ne pas prendre en compte;
  • */
  • function __construct($dossier='.',$extensions=array('*','htaccess','htpassword'),$dossiers_exclus=array())
  • {//constructeur, blablabla
  • $this->dossier = $dossier;
  • $this->extensions = $extensions;
  • $this->dossiers_exclus = $dossiers_exclus;
  • }
  • function creer_fichier()
  • {//On appelle la fonction récursive
  • $retour=$this->parcourir($this->dossier,0,$taille,$nbfich,$nbdoss);
  • //On crée la ligne de titre et on l'envoie avec le reste ($retour)
  • return '<span class="stats_titre">Dossier: '.realpath($this->dossier).' ('.$this->afficher_nombre('fichier',$nbfich).$this->afficher_nombre('dossier',$nbdoss).round($taille/1024,2).' ko)</span>'.$retour;
  • }
  • private function afficher_nombre($quoi,$combien)
  • {//permet juste de creer un message si nécessaire, et de le mettre au pluriel s'il le faut. Rien de bien comlpiqué
  • if ($combien===0)
  • return '';
  • if ($combien===1)
  • return $combien.' '.$quoi.' - ';
  • return $combien.' '.$quoi.'s - ';
  • }
  • function parcourir($dossieraparcourir,$debut,&$tailletotale,&$nbfichiers,&$nbdossiers)
  • {//Fonction utilisée récursivement pour parcourir l'arborescence
  • //initialisation des variables incrémentées
  • $indent='';
  • $retour='';
  • $nbfichiers=0;
  • //indentation faite avec des espaces
  • //Création de la "hauteur" d'indentation
  • for($num=0;$num<$debut;$num++)
  • $indent .= $this->unite_indentation;//une unite pour chaque niveau
  • //On charge le $dossieraparcourir dans le tableau $dir
  • $dir=scandir($dossieraparcourir);
  • //scandir classant par ordre alphabétique uniquement, on parcourt 2 fois le tableau;
  • foreach($dir as $dirfile)
  • {// la première fois pour les dossiers, classés alphabétiquement
  • if(is_file($dossieraparcourir.'/'.$dirfile) OR $dirfile === '.' OR $dirfile === '..')
  • continue;//Si c'est ., .. ou un fichier, on sort
  • if (in_array($dirfile,$this->dossiers_exclus))
  • continue;//Si on choisit d'exclure ce dossier, on sort
  • $nbdoss=0;
  • //on récursivie tout ca
  • $ledossier = $this->parcourir($dossieraparcourir.'/'.$dirfile,$debut+1,$taille,$nbfich,$nbdoss);
  • if (strlen($ledossier)===0 AND $this->afficher_dossiers_vides === FALSE)
  • continue;
  • //On crée la ligne html
  • $retour .= '<span class="stats_dossier">'.$indent.'<img src="'.$this->chemin_icones.'dossier_ferme.gif" width="15" height="15" />&nbsp;'.$dirfile.' ('.$this->afficher_nombre('fichier',$nbfich).$this->afficher_nombre('dossier',$nbdoss).round($taille/1024,2).' ko)</span>'."\n";
  • //On inscrit ce qui a été récupéré par récursivité
  • $retour .= $ledossier;
  • //On ajoute la taille de ce dossier à la taille totale
  • $tailletotale += $taille;
  • $nbfichiers += $nbfich;
  • $nbdossiers += $nbdoss + 1;
  • }
  • foreach($dir as $dirfile)
  • {// la deuxième fois pour les fichiers, toujours classés alphabétiquement
  • //On crée une variable contenant l'adresse du fichier, celle ci étant relativement souvent utilisée
  • $fichier=$dossieraparcourir.'/'.$dirfile;
  • if(is_dir($fichier))
  • continue;//On sort si c'est un dossier
  • $nbfichiers++;//incrémentation du nombre de fichiers
  • //On récupère l'extension
  • $extension=strtolower(array_pop(explode('.',$dirfile)));
  • if ($this->extensions[0]==='*' AND in_array($extension,$this->extensions))
  • continue;//Si on choisit par défaut toutes les extensions, mais qu'on éxclut celle-la, on sort
  • elseif ($this->extensions[0]!=='*' AND !in_array($extension,$this->extensions))
  • continue;//Si cette extension n'est pas dans la liste autorisée, on sort aussi
  • //Si l'icone de cette extension existe, on l'affiche, sinon on affiche defaut
  • if (is_file($this->chemin_icones.$extension))
  • $retour .= '<span class="stats_fichier">'.$indent.'<img src="'.$this->chemin_icones.$extension.'" width="15" height="15" />&nbsp;';
  • else
  • $retour .= '<span class="stats_fichier">'.$indent.'<img src="'.$this->chemin_icones.'defaut" width="15" height="15" />&nbsp;';
  • //on inscrit le nom et la taille du fichier
  • $retour.= $dirfile.' ('.round(filesize($fichier)/1024,2).' ko)</span>'."\n";
  • $tailletotale += filesize($fichier);
  • //si c'est un fichier php, qu'on choisit d'afficher des stats, et que ce n'est pas l'icone (fichier juste nommé php)
  • if (in_array(strtolower($extension),array('php','php3','php4','php5','php6')) AND $this->lister_parametres_php AND $dirfile!=='php')
  • {
  • $stat_incl=$this->voir_params($fichier);
  • //On insère le résultat uniquement s'il y a quelque chose à afficher
  • if (strlen($stat_incl)>0)
  • $retour.='<span class="stats_commentaire">'.$indent.$this->unite_indentation.$stat_incl."</span>\n";
  • }
  • }
  • //On renvoie la sortie
  • return $retour;
  • }
  • function voir_params($fichier)
  • {//fonction punlique, pour pouvoir l'appeler sur un fichier particulier sans avoir à tout regarder
  • //motif de recherche des inclusions
  • $motif = "/( |\n)(include|include_once|require|require_once)\((.+)\)/";
  • //récup du contenu du fichier
  • $contenu=file_get_contents($fichier);
  • //on récupère les inclusions
  • preg_match_all($motif,$contenu,$reponse,PREG_SET_ORDER);
  • //on les compte
  • $nbinclusions=count($reponse);
  • //On recherche une ouverture de connection mysql, auquel cas on crée le message qui le stipule
  • if (strpos($contenu,'mysql_'.'connect')!==FALSE)
  • $mysql=' Connection à mysql;';
  • else
  • $mysql='';
  • //on divise en un tableau de ligne, comme l'aurait fait file($fichier)
  • $lignes=explode("\n",$contenu);
  • //Initialisation des variables
  • $nbcom=0;
  • $ouvert=FALSE;
  • $nblignes=0;
  • foreach($lignes as $ligne)
  • {
  • $ligne=str_replace(' ',' ',$ligne);//Pour compter comme il faut les lignes de code, sans tenir compte des lignes ne contenant que des tabulations
  • if (trim($ligne)==='')
  • continue;//On ne compte pas les lignes vides
  • if (strpos($ligne,'*/')!==FALSE AND strpos($ligne,'/*')!==FALSE)
  • $nbcom++;//S'il y a /* et */, on compte uniquement la ligne en commentaire (Ne tient donc pas compte d'un éventuel /*com*/[code]/*, mais faut pas abuser)
  • elseif ($ouvert AND strpos($ligne,'*/')!==FALSE)
  • {//Si le commentaire est ouvert et qu'on le ferme, on fait pareil
  • $ouvert=FALSE;
  • $nbcom++;
  • }
  • elseif ($ouvert)
  • $nbcom++;//Si le commentaire ouvert et qu'il ne contient pas de */
  • elseif (strpos($ligne,'/*')!==FALSE)
  • {//Si on est hors commentaire, et qu'on en ouvre un, on fait pareil
  • $nbcom++;
  • $ouvert=TRUE;
  • }
  • elseif (strpos($ligne,'//')!==FALSE)
  • $nbcom++;//Pour compter les commentaires en ligne. Celle-ci étant commentée, on la compte comme un ligne complète de commentaire
  • $nblignes++;
  • }
  • //On crée le message donnant le nombre d'inclusions
  • if ($nbinclusions>0)
  • $phraseinclusions=$nbinclusions.' inclusion(s);';
  • else
  • $phraseinclusions='';
  • //On crée le message donnant le nombre de lignes commentées par rapport au nombre de lignes total
  • if ($nbcom>0)
  • $phrasecommentaires=' '.$nbcom.' lignes de commentaire sur '.$nblignes.';';
  • else
  • $phrasecommentaires='';
  • //On envoit le message en retour
  • return $phraseinclusions.$phrasecommentaires.$mysql;
  • }
  • }
<?php
class arbre
	{
	private $dossier;//Dossier de base à parcourir
	private $extensions;//voir plus bas
	private $dossiers_exclus;//voir plus bas
	public $unite_indentation = ' &nbsp; &nbsp; &nbsp; &nbsp;';//de base, plusieurs espaces, mais peut être remplacé par n'importe quoi (même des trucs pas beaux)
	public $afficher_dossiers_vides=TRUE;//TRUE/FALSE: On affiche (ou pas) les dossiers vides
	public $lister_parametres_php=TRUE;//TRUE/FALSE: On liste (ou pas) les paramètres choisis pour les fichiers php
	public $chemin_icones='icones/';//chemin vers le dossier contenant les icones. 
	//ATTENTION: les icones sont des fichiers gif ou jpeg nommés uniquement par l'extension; ex: $this->chemin_icones.'/php' est le nom de l'icone pour les fichiers php. Il n'y a pas d'extension
	
	/*						
	$extensions est un tableau contenant les extensions autorisées ou interdites;
	Si $extensions[0]='*', alors on accepte tout sauf le reste du tableau, sinon
	on accepte uniquement les extensions du tableau
	$dossiers_exclus contient les dossiers à ne pas prendre en compte;
	*/

	function __construct($dossier='.',$extensions=array('*','htaccess','htpassword'),$dossiers_exclus=array())
		{//constructeur, blablabla
		$this->dossier 		= $dossier;
		$this->extensions 	= $extensions;
		$this->dossiers_exclus	= $dossiers_exclus;
		}

	function creer_fichier()
		{//On appelle la fonction récursive
		$retour=$this->parcourir($this->dossier,0,$taille,$nbfich,$nbdoss);
		//On crée la ligne de titre et on l'envoie avec le reste ($retour)
		return '<span class="stats_titre">Dossier: '.realpath($this->dossier).' ('.$this->afficher_nombre('fichier',$nbfich).$this->afficher_nombre('dossier',$nbdoss).round($taille/1024,2).' ko)</span>'.$retour;
		}
		
	private function afficher_nombre($quoi,$combien)
		{//permet juste de creer un message si nécessaire, et de le mettre au pluriel s'il le faut. Rien de bien comlpiqué
		if ($combien===0)
			return '';
		if ($combien===1)
			return $combien.' '.$quoi.' - ';
		return $combien.' '.$quoi.'s - ';
		}

	function parcourir($dossieraparcourir,$debut,&$tailletotale,&$nbfichiers,&$nbdossiers)
		{//Fonction utilisée récursivement pour parcourir l'arborescence
		//initialisation des variables incrémentées
		$indent='';
		$retour='';
		$nbfichiers=0;
		//indentation faite avec des espaces
		//Création de la "hauteur" d'indentation
		for($num=0;$num<$debut;$num++)
			$indent .= $this->unite_indentation;//une unite pour chaque niveau
		//On charge le $dossieraparcourir dans le tableau $dir
		$dir=scandir($dossieraparcourir);
		//scandir classant par ordre alphabétique uniquement, on parcourt 2 fois le tableau;
		foreach($dir as $dirfile)
			{// la première fois pour les dossiers, classés alphabétiquement
			if(is_file($dossieraparcourir.'/'.$dirfile) OR $dirfile === '.' OR $dirfile === '..')
				continue;//Si c'est ., .. ou un fichier, on sort
			if (in_array($dirfile,$this->dossiers_exclus))
				continue;//Si on choisit d'exclure ce dossier, on sort
			$nbdoss=0;
			//on récursivie tout ca
			$ledossier = $this->parcourir($dossieraparcourir.'/'.$dirfile,$debut+1,$taille,$nbfich,$nbdoss);
			if (strlen($ledossier)===0 AND $this->afficher_dossiers_vides === FALSE)
				continue;
			//On crée la ligne html
			$retour .= '<span class="stats_dossier">'.$indent.'<img src="'.$this->chemin_icones.'dossier_ferme.gif" width="15" height="15" />&nbsp;'.$dirfile.' ('.$this->afficher_nombre('fichier',$nbfich).$this->afficher_nombre('dossier',$nbdoss).round($taille/1024,2).' ko)</span>'."\n";
			//On inscrit ce qui a été récupéré par récursivité
			$retour .= $ledossier;
			//On ajoute la taille de ce dossier à la taille totale
			$tailletotale += $taille;
			$nbfichiers += $nbfich;
			$nbdossiers += $nbdoss + 1;
			}
		foreach($dir as $dirfile)
			{// la deuxième fois pour les fichiers, toujours classés alphabétiquement
			//On crée une variable contenant l'adresse du fichier, celle ci étant relativement souvent utilisée
			$fichier=$dossieraparcourir.'/'.$dirfile;
			if(is_dir($fichier))
				continue;//On sort si c'est un dossier
			$nbfichiers++;//incrémentation du nombre de fichiers
			//On récupère l'extension
			$extension=strtolower(array_pop(explode('.',$dirfile)));
			if ($this->extensions[0]==='*' AND in_array($extension,$this->extensions))
				continue;//Si on choisit par défaut toutes les extensions, mais qu'on éxclut celle-la, on sort
				elseif ($this->extensions[0]!=='*' AND !in_array($extension,$this->extensions))
				continue;//Si cette extension n'est pas dans la liste autorisée, on sort aussi
			//Si l'icone de cette extension existe, on l'affiche, sinon on affiche defaut
			if (is_file($this->chemin_icones.$extension))
				$retour .= '<span class="stats_fichier">'.$indent.'<img src="'.$this->chemin_icones.$extension.'" width="15" height="15" />&nbsp;';
				else
				$retour .= '<span class="stats_fichier">'.$indent.'<img src="'.$this->chemin_icones.'defaut" width="15" height="15" />&nbsp;';
			//on inscrit le nom et la taille du fichier
			$retour.= $dirfile.' ('.round(filesize($fichier)/1024,2).' ko)</span>'."\n";
			$tailletotale += filesize($fichier);
			//si c'est un fichier php, qu'on choisit d'afficher des stats, et que ce n'est pas l'icone (fichier juste nommé php)
			if (in_array(strtolower($extension),array('php','php3','php4','php5','php6')) AND $this->lister_parametres_php AND $dirfile!=='php')
				{
				$stat_incl=$this->voir_params($fichier);
				//On insère le résultat uniquement s'il y a quelque chose à afficher
				if (strlen($stat_incl)>0)
					$retour.='<span class="stats_commentaire">'.$indent.$this->unite_indentation.$stat_incl."</span>\n";
				}
			}
		//On renvoie la sortie
		return $retour;
		}

	function voir_params($fichier)
		{//fonction punlique, pour pouvoir l'appeler sur un fichier particulier sans avoir à tout regarder
		//motif de recherche des inclusions
		$motif = "/( |\n)(include|include_once|require|require_once)\((.+)\)/";
		//récup du contenu du fichier
		$contenu=file_get_contents($fichier);
		//on récupère les inclusions
		preg_match_all($motif,$contenu,$reponse,PREG_SET_ORDER);
		//on les compte
		$nbinclusions=count($reponse);
		//On recherche une ouverture de connection mysql, auquel cas on crée le message qui le stipule
		if (strpos($contenu,'mysql_'.'connect')!==FALSE)
			$mysql=' Connection à mysql;';
			else
			$mysql='';
		//on divise en un tableau de ligne, comme l'aurait fait file($fichier)
		$lignes=explode("\n",$contenu);
		//Initialisation des variables
		$nbcom=0;
		$ouvert=FALSE;
		$nblignes=0;
		foreach($lignes as $ligne)
			{
			$ligne=str_replace('	',' ',$ligne);//Pour compter comme il faut les lignes de code, sans tenir compte des lignes ne contenant que des tabulations
			if (trim($ligne)==='')
				continue;//On ne compte pas les lignes vides
			if (strpos($ligne,'*/')!==FALSE AND strpos($ligne,'/*')!==FALSE)
				$nbcom++;//S'il y a /* et */, on compte uniquement la ligne en commentaire (Ne tient donc pas compte d'un éventuel /*com*/[code]/*, mais faut pas abuser)
			elseif ($ouvert AND strpos($ligne,'*/')!==FALSE)
				{//Si le commentaire est ouvert et qu'on le ferme, on fait pareil
				$ouvert=FALSE;
				$nbcom++;
				}
			elseif ($ouvert)
				$nbcom++;//Si le commentaire ouvert et qu'il ne contient pas de */
			elseif (strpos($ligne,'/*')!==FALSE)
				{//Si on est hors commentaire, et qu'on en ouvre un, on fait pareil
				$nbcom++;
				$ouvert=TRUE;
				}
			elseif (strpos($ligne,'//')!==FALSE)
				$nbcom++;//Pour compter les commentaires en ligne. Celle-ci étant commentée, on la compte comme un ligne complète de commentaire
			$nblignes++;
			}
		//On crée le message donnant le nombre d'inclusions
		if ($nbinclusions>0)
			$phraseinclusions=$nbinclusions.' inclusion(s);';
			else
			$phraseinclusions='';
		//On crée le message donnant le nombre de lignes commentées par rapport au nombre de lignes total
		if ($nbcom>0)
			$phrasecommentaires=' '.$nbcom.' lignes de commentaire sur '.$nblignes.';';
			else
			$phrasecommentaires='';
		//On envoit le message en retour
		return $phraseinclusions.$phrasecommentaires.$mysql;
		}
	}

 Conclusion

Pour le moment, aucun bug trouvé, mais je compte sur vous pour me le signaler si vous en voyez. En tout cas, windows donne les même statistiques de poids. ;-)

Je l'ai mis en initié en pensant que tous les débutants ne pourront pas comprendre l'intégralité du code (pas de l'utilisation j'espère) facilement, mais si vous ne pensez pas que ca ne vaut ce niveau, signalez le moi, je modifierai...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   arbre
    • .htaccess
    • .htpassword
    •   cache
      • index.htm
    •   icones
      •   bouh
      • bmpTélécharger ce fichier [Réservé aux membres club]862 octets
      • cssTélécharger ce fichier [Réservé aux membres club]1 002 octets
      • defautTélécharger ce fichier [Réservé aux membres club]550 octets
      • docTélécharger ce fichier [Réservé aux membres club]472 octets
      • dossier_ferme.gifTélécharger ce fichier [Réservé aux membres club]Voir ce fichier120 octets
      • gifTélécharger ce fichier [Réservé aux membres club]862 octets
      • htmTélécharger ce fichier [Réservé aux membres club]758 octets
      • iniTélécharger ce fichier [Réservé aux membres club]709 octets
      • jpegTélécharger ce fichier [Réservé aux membres club]862 octets
      • jpgTélécharger ce fichier [Réservé aux membres club]862 octets
      • jsTélécharger ce fichier [Réservé aux membres club]840 octets
      • mp3Télécharger ce fichier [Réservé aux membres club]704 octets
      • pdfTélécharger ce fichier [Réservé aux membres club]1 328 octets
      • phpTélécharger ce fichier [Réservé aux membres club]882 octets
      • pngTélécharger ce fichier [Réservé aux membres club]862 octets
      • ppsTélécharger ce fichier [Réservé aux membres club]1 724 octets
      • pptTélécharger ce fichier [Réservé aux membres club]406 octets
      • rarTélécharger ce fichier [Réservé aux membres club]2 256 octets
      • wavTélécharger ce fichier [Réservé aux membres club]704 octets
      • xlsTélécharger ce fichier [Réservé aux membres club]433 octets
      • xmlTélécharger ce fichier [Réservé aux membres club]808 octets
      • zipTélécharger ce fichier [Réservé aux membres club]2 134 octets
    • index.htm
    • arbre.JPGTélécharger ce fichier [Réservé aux membres club]Voir ce fichier153 553 octets
    • cls_arbre.phpTélécharger ce fichier [Réservé aux membres club]Voir ce fichier8 097 octets
    • test_arbre.phpTélécharger ce fichier [Réservé aux membres club]Voir ce fichier944 octets

Télécharger le zip


 Sources du même auteur

CLASSE SIMPLE DE CRÉATION DE FICHIER XML
SIMPLIFIER LES PARAMÉTRAGES DE VOTRE SITE

 Sources de la même categorie

Source avec Zip GÉNÉRATION AUTOMATIQUE DE FICHIER .CLASS.PHP EN FONCTION D'U... par ig3
CLASSE D'OBJET DE CRYPTAGE ET DÉCRYPTAGE DE CHAINES DE CARAC... par 8Tnerolf8
Source avec Zip MY.DEVIANTART API par inwebo
CLASSE DE GESTION DE "VARIABLES GLOBALES D'ENVIRONNEMENT" par pifou25
Source avec Zip COLLECTION.CLASS.MIN.PHP par thunderhunter

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture EXPLORATEUREUREKA (GESTIONNAIRE COMPLET GRAPHIQUE DE FICHIER... par thematrix01
Source avec Zip CLASSE QUI PERMET DE GENERER UN ARBRE par gagah1
Source avec Zip PROXY HTTP : SAUVEZ VOS VIDEOS PREFEREES. par coucou747
Source avec Zip GESTION D'ARBRES PAR REPRÉSENTATION INTERVALLAIRE par dracula127
UNE ARBORESCENCE. par coucou747

Commentaires et avis

Commentaire de Epoc22 le 03/08/2006 15:11:38

Dsl mais e capte pas trop à quoi sert ton truc...

Commentaire de pastis51forever le 03/08/2006 16:18:30

Salut!
Ne sois pas désolé, c'est pas obligé que ca te serve...
Comme je l'ai mis dans la description, ca me sert à créer régulièrement des pages de suivi, ainsi que de retrouver des fonctions-classes-fichiers utilisés dans d'autres projets pour les réutiliser.
J'archive ainsi l'arborescence du site avec les tailles des dossiers et des fichiers. Ces données évoluant constament avec l'avancée des projets (ou au moins des miens), ca me permet d'être sur de toujours conserver une architecture logique.
Connaitre les poids des fichiers m'est aussi utile pour beaucoup de choses (sauvegardes entre autre)

Au niveau des fichiers php, connaitre le nombre de lignes de commentaires me permet de valider sans avoir à entrer dans chaque fichier qu'ils ont bien étés commentés (sans quoi, je ne les considère pas comme achev´´es)

Pour réutiliser un fichier d'un ancien projet, il est bon de copier aussi les fichiers qui sont inclus par celui qu'on réutilise pour éviter de se retrouver avec de sales erreurs.
De même, j'ai des projets avec et des projets sans mysql, donc je gagne du temps en sachant directement si ce que j'inclus nécessite une base ou pas.

Après, comme je le disais au début, cette classe me sert bien, mais c'est pas dit qu'elle soit utile à tout le monde...

@+
Brice

Commentaire de pastis51forever le 03/08/2006 16:20:09

-et ca peut peut-etre avoir un interet ludique (parcours des dossiers, lecture des fichiers, récessivité, classes php5...)-

Commentaire de Epoc22 le 04/08/2006 15:06:49

MM ça peut être intéressant ta source... je la prend !

Commentaire de Epoc22 le 04/08/2006 15:18:55

J'ai un problème (qui n'a rien a voir avec ta source) tu peut peut être m'aider :
http://www.phpcs.com/infomsg_PB-AVEC-DERNIERE-VERSION-APACHE_790848.aspx

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

connexion avec sql server [ par mabrouk ] bonjour, svp je travaille sur un poste client windows2000 server dans un domaine j'ai installé easyphp(php+apache+mysql), j'ai voulu se connecter a no Attention question pour les pros du php ! [ par Neozix ] Bonjour,Merci de m'accorder un peu de temps pour mon problème. Voici la bete-----------------------------------------------------&lt;?phpinclude("incl php sql server pb connexion??!! [ par ronando ] g installer easy php.ma base de données est sql server et tt ca tourne sous windows 2000.Mais ca ne fonctionne pas quand je veux me connecter avec la SQL SERVER [ par ceeno ] Bonjour , j'ai un probleme avec SQL SERVER , je souhaiterais l'installer squr un autre disque que le c:\ seulement je n'y arrive pas...Quelqu'un poura Afficher l'arborescence d'un autre serveur [ par klandestin ] Bonjour,je suis en stage et pour un intranet je dois écrire un sript php pour afficher l'arboresence du serveur NT (où sont stockés les comptes utilis Drole de message d erreur !!!! [ par songes ] Un truc bizarre arrive de temps en temps. J ai ce message d'erreur :Server Error The following error occurred:The server closed the connection while r arborescence forum [ par BirD ] Hello, je suis en train de créer un forum, mais je ne sais pas comment réaliser l'arborecence de celui-ci, si quelqu'un à une idée (pas besoin de code Pb Windows Server 2003 / PHP [ par Crazyht ] Voila j'ai installé ce Week End mon tout nouveau Windows Serveur 2003 avec IIS 6, je lui colle mon php 4.3.x, et enfin installe phpMyAdmin et le confi Recherche sur un site [ par Gregco ] Hello,Question question... je programme énormément en asp et j'ai envie de découvrir php...J'ai recourt au forum parce que j'ai besoin d'une informati (ftp) comment copier un fichier sur le server a partir de son ordinateur [ par tclo2 ] ftp svp Bonjour comment lire un fichier des sources de son ordinateur (c:fichier) et le copier sur son serveur (http://serveur/fichier)


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,967 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales