vero Posté 25 Mars 2006 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 25 Mars 2006 Partager 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]")) Lien vers le commentaire Partager sur d’autres sites More sharing options...
vero Posté 25 Mars 2006 Auteur Partager 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); ?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Théo B. Posté 25 Mars 2006 Partager 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
KaRaK Posté 25 Mars 2006 Partager 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(). Lien vers le commentaire Partager sur d’autres sites More sharing options...
vero Posté 25 Mars 2006 Auteur Partager 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); ?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
vero Posté 25 Mars 2006 Auteur Partager 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); ?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Théo B. Posté 25 Mars 2006 Partager 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); ?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 25 Mars 2006 Partager 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 ?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
vero Posté 25 Mars 2006 Auteur Partager 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); } ?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant