Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CRÉER TOUTE UNE CHAINE DE RÉPERTOIRE : EXEMPLE CRÉER "/ESSAI1/ESSAI2/ESSAI3/"


Information sur la source

Catégorie :Fichier / Disque Classé sous : répertoire, créer Niveau : Débutant Date de création : 30/08/2005 Date de mise à jour : 22/11/2005 18:25:47 Vu : 5 509

Note :
7,75 / 10 - par 4 personnes
7,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note


Description

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

  • /* 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;
  • }
  • }
/* 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
 

Historique

22 novembre 2005 18:25:48 :
Ajout des mots clés

Commentaires et avis

signaler à un administrateur
Commentaire de MadM@tt le 30/08/2005 14:55:51

J'ai aussi la fonction qui permet de supprimer un répertoire, en supprimant auparavant tout le contenu de ce répertoire. Si vous la voulez demandez ;)

signaler à un administrateur
Commentaire de Anthomicro le 30/08/2005 15:13:48

Salut,

c'est pas mal, tu peux par contre faire un système qui s'appuierai sur un explode('/',$chaine);

ensuite tu regardes si ça correspond à une chaîne de caractères (ne pas oublier le trim() et je pense que ça pourrait être plus efficace ;-)

mais bon c'est une source ayant de l'intérêt, je te mets 8, essaie de le faire avec un explode et une boucle sur le tableau récupéré ;-)

signaler à un administrateur
Commentaire de MadM@tt le 30/08/2005 15:20:28

C'est sympa et merci pour les conseils, mais je suis du genre faineant lol, pour moi ça marche, et c'est le principal, surtout que j'en ai tellement à faire en ce moment.
En tout cas je suis pas contre si quelqu'un propose la fonction avec explode(), je remplacerai la mienne par celle ci.

signaler à un administrateur
Commentaire de Anthomicro le 30/08/2005 15:21:28

Ok je vais voir ce que je peux faire ;-)

signaler à un administrateur
Commentaire de Anthomicro le 30/08/2005 15:52:26

Voilà ce que je viens de créer pour créer des dossiers et sous dossiers (chemin relatif par rapport au dossier actuel)

<?php
function creer_dossiers($dossiers)
{
if(!trim($dossiers) OR $dossiers==='/' OR is_dir($dossiers))
{
return FALSE;
}

$liste_dossiers=explode('/',$dossiers); //RECUPERE CHACUN DES DOSSIERS
$nb=count($liste_dossiers);
$i=0;
$dossier_en_cours='';

//----------------------------------------
//PARCOURT LES SOUS DOSSIERS
//----------------------------------------
while($i<$nb)
{
if(trim($liste_dossiers[$i]))
{
$dossier_en_cours.=$liste_dossiers[$i].'/';
mkdir($dossier_en_cours);
}
$i++;
}
}

creer_dossiers('test/admin/sous_dossier/');
?>

signaler à un administrateur
Commentaire de Anthomicro le 30/08/2005 15:52:48

je vais la poster en tant que source tiens ;-)

signaler à un administrateur
Commentaire de MadM@tt le 30/08/2005 15:55:02

Cool
Seulement tu ne teste pas si chaque dossier existe avant de les créer non ?

signaler à un administrateur
Commentaire de Anthomicro le 30/08/2005 15:55:49

tiens pas bête, j'y ai pas pensé ;-) je vais le rajouter ;-)

signaler à un administrateur
Commentaire de malalam le 31/08/2005 11:52:27 administrateur CS

Po mal, mais un peu plus long aue la source juste au-dessus ;-)

signaler à un administrateur
Commentaire de twisteurwin le 12/01/2006 10:09:26

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


Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

sélectionner un répertoire [ par Dark_Schneider ] Bonjour tt le monde!!!Voila je suis débutant en php et je suis en train de réaliser une sorte de gallerie virtuelle en php. J'ai donc créer mes pages Créer un fichier dans un répertoire souhaité [ par fredo35m ] Bonjour, je souhaierais cr&#233;er un fichier dans un r&#233;pertoire donn&#233; comment faire cela ???j'arrive bien &#224; cr&#233;er le fichier :$fn Créer Un Sous Domaine Avec PHP !!?? [ par nabmoah ] Bonjour ...   - Je voudrai savoir s'il existe un module en PHP pour créer mes propres sous-domaines sur mon serveur dédié ...En fait, j'ai loué un ser Créer un executable [ par lahlousimo ] Bonjour, j'ai developpé un site php et je voudrais le rendre excecutable, comme ca si il ya un probleme dans le serveur je pourais l'installer au lieu Comment integrer un forum ? [ par kiwi95 ] Salut à tous je désire créer un forum à intégrer à un site. Comment faire? ousinon un forum deja créer a intégrer à Php, formulaire BDD... [ par xeroxiss ] Bonjour, Voilà je me permet de poster ici car j'ai un petit soucis... Je voudrait créer une rubrique annonçe...(petites annonces etc...)Mes bases de d Recherche un codeur PHP [ par sunvibzr ] Bonjour à tous,Je voudrais créer un site en php mais je n'y arrive vraiment pas !Et sa pas faute d'avoir essayer. Enfet je vais créer une webtv et je scanner un répertoire [ par mcleod1 ] Quelqu'un sait il comment scanner un répertoireet lister tous les sous répertoires non vides avec lien vers ceux ci (création d'un html avec liste de Affichage répertoire [ par tipexx94 ] Bonjour, j'ai ce c comment créer gallerie photo avec commentaires svpééé???? [ par nassmim ] bonjour,j'aimerais créer une gallerie de photos où je pourrais y apporter des descripitions et où les gens pourraient y poster des coms!donc si certai


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,764 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.