begin process at 2012 02 13 08:50:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > FONCTION RÉCURSIVE QUI PERMET DE DEPLACER DES FICHIERS CONTENU DANS UN SOUS-REPERTOIRE VERS LE REPERTOIRE PARENTS.

FONCTION RÉCURSIVE QUI PERMET DE DEPLACER DES FICHIERS CONTENU DANS UN SOUS-REPERTOIRE VERS LE REPERTOIRE PARENTS.


 Information sur la source

Note :
Aucune note
Catégorie :Fichier / Disque Classé sous :fichier, lister, recursif, deplacer Niveau :Initié Date de création :04/03/2007 Date de mise à jour :05/03/2007 14:30:15 Vu :7 133

Auteur : filoboss

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

 Description

Cette fonction permet de récuperer le contenu de sous répertoire et de les mettre dans le repertoire parents. Tout fichier non désirer est supprimer

Source

  • function searchF($url, $ssrep)
  • {
  • $fd = opendir($url); // On ouvre le repertoire à scanner
  • while ($file = readdir($fd)) // On lit le contenu du repertoire
  • {
  • if ($file != "." && $file != "..") // On ecarte de l'analyse les dossiers . et ..
  • {
  • if(is_file($url.$file)) // on vérifie que ce qu'on analyse est un fichier
  • {
  • $ext = pathinfo($url.$file, PATHINFO_EXTENSION); // si c'est un fichier, on récupère l'extension de celui-ci
  • if(strtolower($ext) === 'jpg') // Je verifie que c'est une image.
  • {
  • if($url != $ssrep) // Si c'est une images et qu'on ne se trouve pas dans le repertoire initiale
  • rename($url.$file, $ssrep.$file); // on déplace le fichier dans le repertoire initiale
  • }
  • else
  • unlink($url.$file); // si ce n'est pas un jpg, on supprime le fichier
  • }
  • if(is_dir($url.$file)) // si ce qu'on analyse est un repertoire, on relance la fonction sur ce repertoire
  • {
  • searchF($url.$file.'/', $ssrep);
  • rmdir($url.$file); // on supprime le dossier enfant à la fin de l'execution de la fonction
  • }
  • }
  • close($fd);
  • }
  • }
function searchF($url, $ssrep)
   {
   $fd = opendir($url);				// On ouvre le repertoire à scanner
   while ($file = readdir($fd)) 		// On lit le contenu du repertoire
	{
	if ($file != "." && $file != "..")		// On ecarte de l'analyse les dossiers . et ..
		{
      		if(is_file($url.$file))				// on vérifie que ce qu'on analyse est un fichier
			{
			$ext = pathinfo($url.$file, PATHINFO_EXTENSION);		// si c'est un fichier, on récupère l'extension de celui-ci
			if(strtolower($ext) === 'jpg')		// Je verifie que c'est une image.
				{
				if($url != $ssrep)			// Si c'est une images et qu'on ne se trouve pas dans le repertoire initiale
					rename($url.$file, $ssrep.$file);	// on déplace le fichier dans le repertoire initiale
				}
			else
				unlink($url.$file);	// si ce n'est pas un jpg, on supprime le fichier
			}
		if(is_dir($url.$file))		// si ce qu'on analyse est un repertoire, on relance la fonction sur ce repertoire
			{
			searchF($url.$file.'/', $ssrep);
			rmdir($url.$file);		// on supprime le dossier enfant à la fin de l'execution de la fonction
			}
    		}
        close($fd);
	}
   }

 Conclusion

Voila, c'est mon premier code que je poste ici et j'espere qu'il vous servira...

Si les explication sont ambigue, fait le savoir..

Cordialement


 Historique

05 mars 2007 14:30:15 :
Correction de bug

 Sources de la même categorie

UPLOADER DES FICHIER DANSUN DOSSIER, SÉCURISÉ AVEC MOT DE PA... par raizzo
COMPTEUR DE VISITES SUR FICHIER par pierreSabatier
FONCTION RECURSIVE DE DOSSIERS par tefa24600
Source avec Zip CONVERSION DES UNITÉS INFORMATIQUE (O, KIO, MIO, GIO, TIO...... par genetApt151
TROUVER LES DOUBLONS DANS UNE LISTE DE FICHIERS par soobook

 Sources en rapport avec celle ci

CLASSE DE GESTION DE "VARIABLES GLOBALES D'ENVIRONNEMENT" par pifou25
UPLOADER DES FICHIER DANSUN DOSSIER, SÉCURISÉ AVEC MOT DE PA... par raizzo
COMPTEUR DE VISITES SUR FICHIER par pierreSabatier
Source avec Zip Source avec une capture A-ANNONCES VERSION PHP 5 par cod57
FONCTION RECURSIVE DE DOSSIERS par tefa24600

Commentaires et avis

Commentaire de webdeb le 05/03/2007 10:20:23

Bien vu le coup de la récursivité par contre j'ajouterai une chose.

Elle ne sert qu'à déplacer un fichier JPG ? Il faudrait faire en sorte que ce soit pour tout type de fichier. Tu peux améliorer la récupération de l'extension. PHP propose une fonction qui fait ça. C'est pathinfo() avec la constante PATHINFO_EXTENSION en second paramètre. Tu peux donc remplacer ta ligne par :

#  $ext = pathinfo($url.$file, PATHINFO_EXTENSION);
# if(strtolower($ext) === 'jpg') // Avec strtolower() je prends en compte minuscules, majuscule et mix des deux.

Ton code sera plus propre avec ça :)

++

Commentaire de juki_webmaster le 05/03/2007 13:47:18

Il faut fermer les handle de dossiers, avec closedir().
Tu ne verifie pas la retour des fonctions (problemes de droits etc).
Tu aurais put utiliser une array() pour decrire les extensions que tu souhaite copier, et les autres seront detruite.

Commentaire de filoboss le 05/03/2007 14:33:05

Merci pour vos remarque,

En effet je ne connaissait pas ces deux fonction de php. La maj à été apporté.
ce qui en est pour le tableau, c'est une bonne idée dont je n'avais pas pensé. Je vais faire la rectification sous peut.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Lister fichier (distinction du nom et de l'extension) [ par orelien ] Bonjour,J'aimerais lister les fichiers d'un dossier en distinguant dans deux variables différentes le nom et l'extension de chaque fichier...Quelqu'un lister les fichier pdf d'1rep sur une page web [ par petitepunk ] slt,je voudrais recupérer ts les fichier pdf situé ds un repertoire appelé "test" pour les afficher sur une page web afin que les utilisateurs puissen lister des fichier dans un dossier [ par Lucyberad ] bonjour a tous ! j'ai un script qui me permet de lister les fichiers, que voici: $rep = "/images";  // chemin du dossier image $files = array(); lister un repertoire pour créé un str replace avec tout les fichier [ par ztec ] j'ai un repertoire ou je veut metre des smiley. j'en ai telement, que kj'ai pas envi des les rentrer un par un. les smiley les plus utiliser on ete de lister les fichier d'un répertoire [ par conradfrance ] salut a tousVoila j'ai cherché avant de poser la question mais je ne l'ai pas trouvé (ou mal peut etre si elle y est)Je cherche a savoir si lister un dossier (différence entre fichier et dossier) [ par mierkool ] Bonjour, je voudrais savoir comment fait on pour différencier un dossier d'un fichier quand on liste le contenu d'un dossier :car dans ma liste, le do Lister fichier d'un repertoire distant [ par blat ] Bonjour,Je voudrais lister des fichiers d'un repertoire distant. En gros je veux qu'a partir de www.monsite.com/mapage.php je puisse avoir la liste de Lister un dossier de facon spéciale [ par darkworld ] et bien voila en fait je cherche a lister dans un dossier1 seulement les fichier d'une certaine extensionet ensuite d'ajouter ces fichier a une B Deplacer des fichier vers un autres dossier [ par tonic1 ] Bonjour a tous,petite question rapide.J aimerais avoir la possibilite des deplacer des fichier sur mon serveur d un repertoire vers un autre.Existe t lister dossiers uniquements [ par shadow1779 ] Bonjour,il existe dans les codes de nombreux scripts pour lister le contenu d'un dossier, cependant cela liste les fichiers et dossier contenu, je vou


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 1,154 sec (3)

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