vero Posté 25 Mars 2006 Posté 25 Mars 2006 bonjour, j'ai besoin de créer un repertoire dans un script php et j'utilise : <?$oldumask = umask(0000);mkdir("photos_galerie/$login_ok[0]/");umask($oldumask);?> cela marche bien à la premiere utilisation en creant le repertoire par contre à la 2 eme utilisation j'ai un message d'erreur car le repertoire existe deja. comment je peux faire pour eviter le message d'erreur? Cordialement
captain_torche Posté 25 Mars 2006 Posté 25 Mars 2006 Si tu veux éviter d'avoir une erreur si le répertoire existe déjà, rajoute simplement cette ligne avant le mkdir if(is_dir("photos_galerie/$login_ok[0]"))
vero Posté 25 Mars 2006 Auteur Posté 25 Mars 2006 toujours pas resolu voila ou j'en suis ... <? if (is_dir('photos_galerie/$login_ok[0]/')) break; $oldumask = umask(0000); mkdir("photos_galerie/$login_ok[0]/"); umask($oldumask); ?>
Théo B. Posté 25 Mars 2006 Posté 25 Mars 2006 <?$oldumask = umask(0000);_AT_mkdir("photos_galerie/$login_ok[0]/");_AT_umask($oldumask);?> Ca retire l'erreur mais pas le problème.
KaRaK Posté 25 Mars 2006 Posté 25 Mars 2006 Bonjour, Tu ne peux pas creer deux repertoires avec le meme nom. Avant de creer un repertoire tu peux tester si il existe deja ou non. Je pense qu'il est possible de faire cela avec plusieurs fonctions. Tu peux essayer avec is_dir().
vero Posté 25 Mars 2006 Auteur Posté 25 Mars 2006 dernier code essayé qui ne marche pas <? if(is_dir('photos_galerie/$login_ok[0]/')) die("Le répertoire {$login_ok[0]} existe déjà !"); //die affiche le message en argument et stoppe le script $oldumask = umask(0000); mkdir("photos_galerie/$login_ok[0]/"); umask($oldumask); ?>
vero Posté 25 Mars 2006 Auteur Posté 25 Mars 2006 non ca marche pas je pense que c'est dans la condition qu il y a un probleme car il voit bien le repertoire existant et la il faudrait qu'il ne passe pas à la ligne suivante du script <? if(is_dir("photos_galerie/$login_ok[0]/")) $oldumask = umask(0000); mkdir("photos_galerie/$login_ok[0]/"); umask($oldumask); ?>
Théo B. Posté 25 Mars 2006 Posté 25 Mars 2006 <? if (is_dir('photos_galerie/$login_ok[0]/')) die('Finito'); $oldumask = umask(0000); mkdir("photos_galerie/$login_ok[0]/"); umask($oldumask); ?>
captain_torche Posté 25 Mars 2006 Posté 25 Mars 2006 Non, c'est moi qui me suis trompé dans mon premier code. Il faut vérifier si le répertoire n'existe pas, et dans ce cas, le créer, ce qui donnerait : <?php$oldumask = umask(0000);if(!is_dir("photos_galerie/$login_ok[0]"))mkdir("photos_galerie/$login_ok[0]/");umask($oldumask); ?> <modérateur: checker si un répertoire existe ?>
vero Posté 25 Mars 2006 Auteur Posté 25 Mars 2006 merci à tous voila la solution retenue <?php $dir = 'photos_galerie/'.$login_ok[0]; if(!is_dir($dir)){ $oldumask = umask(0000); mkdir($dir); umask($oldumask); } ?>
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant