Créer toute une chaine de répertoire : exemple créer "/essai1/essai2/essai3/"

0/5 (10 avis)

Snippet vu 8 351 fois - Téléchargée 27 fois

Contenu du snippet

Cette petite fonction permet de créer un répertoire, mais en mieux lol.
Exemple : créer "/essai1/essai2/essai3/"
Si essai1/ n'existe pas, on le crée
Si essai2/ n'existe pas, on le crée
Si essai3/ n'existe pas, on le crée

C'est pratique car on n'a pas à se soucier si les repertoires existent déjà, c'est tout automatisé.

J'espère que cette fonction n'existe pas déjà sur le site, sinon excusez moi de la poster ^^

Source / Exemple :


/* Permet de créer un répertoire
	Exemple : Créer c:/test/essai/
	Si le dossier test n'existe pas il sera créé en plus du dossier essai*/
function MakeDir($dir)
{
	// On vérifie qu'il y ait bien un dossier
	if (($dir == '') or ($dir == '/') or (is_dir($dir))) {
		return 0;
	}
	// Si c'est un dossier simple on le crée
	if (strrpos($dir, '/') == false) {
		mkdir($dir);
		return 0;
	}
	$pos_ini = 0;
	$dir_depart = '';
	while($dir) {
		// Trouve le dossier au début de $dir
		$dossier = '';
		$pos_ini = 0;
		$t = $pos_ini;
		while((strrpos($dossier, '/') == false) and ($t <= strlen($dir))) {
			$t += 1;
			$dossier = substr($dir, $pos_ini, $t);
		}
		if (!is_dir($dir_depart . $dossier)) {
			mkdir($dir_depart . $dossier);
		}
		$dir = substr($dir, $t, strlen($dir));
		$dir_depart .= $dossier;
	}
}

Conclusion :


J'ai eu l'occasion de tester ça moulte et moulte fois, et ça m'a jamais trahi, alors j'espère que vous n'aurez pas de bug.

Voilà, en espérant que ça vous serve
MadMatt

A voir également

Ajouter un commentaire Commentaires
Messages postés
167
Date d'inscription
mardi 21 septembre 2004
Statut
Membre
Dernière intervention
2 mai 2009

Ca commencait par une 20e de lignes ca v'a finir en tartine de 1km ^^
Bonne idée cette source... (8/10)
Ca peut servir de créer des dossiers et sous dossiers dynamiques par ex.

J'en profite pour vous demander si vous connaissez deux sources très simple:
- une pour donner le % de l'espace dique du ftp...
- l'autre pour générer via la librairie GD des bordures de couleur PNG en fondu...

Vous savez ou jpeux trouver des infos la dessus ? Merci pour tout
+++ bonne continuation les gars
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Po mal, mais un peu plus long aue la source juste au-dessus ;-)
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
tiens pas bête, j'y ai pas pensé ;-) je vais le rajouter ;-)
Messages postés
2167
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
Cool
Seulement tu ne teste pas si chaque dossier existe avant de les créer non ?
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
je vais la poster en tant que source tiens ;-)
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.