Aller au contenu

creation de repertoire


Sujets conseillés

Posté

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

Posté

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);

?>

Posté

<?
$oldumask = umask(0000);
_AT_mkdir("photos_galerie/$login_ok[0]/");
_AT_umask($oldumask);

?>

Ca retire l'erreur mais pas le problème.

Posté

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().

Posté

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);

?>

Posté

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);

?>

Posté

<?

if (is_dir('photos_galerie/$login_ok[0]/')) die('Finito');

$oldumask = umask(0000);

mkdir("photos_galerie/$login_ok[0]/");

umask($oldumask);

?>

Posté

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 :fou: ?>

Posté

merci à tous voila la solution retenue

<?php 

$dir = 'photos_galerie/'.$login_ok[0];
if(!is_dir($dir)){
  $oldumask = umask(0000);
  mkdir($dir);
  umask($oldumask);
}

?>

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...