IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Attraper l'erreur si répertoire inexistant


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut Attraper l'erreur si répertoire inexistant
    Bonjour tout le monde, légère question pour commencer ma journée mais qui me pose probleme

    Je créé un répertoire sur le serveur a l'aide de la méthode mkdir();
    d'après l'api cette méthode retourne true si c'est correct et false sinon..alors pour ne pas faire planter mon application si jamais sa ne créer pas je le mets dans un if comme ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    if(mkdir($aRepertoire, 0700)){ //ligne 25
    	//Connection à la bd
    	mysql_connect("localhost","*****","******");
    	mysql_select_db("*****");
     
    	//Requête ajout d'un nouvel utilisateur du systeme
    	$strScript = "INSERT INTO `tblajusteur` ( `ajusteurID` , `ajusteurPrenom` , `ajusteurNom` , `numIdent` , `typeAcces` , `ajusteurActif` , `ajusteurPhone` , `ajusteurLogin` , `ajusteurPWD` , `ajusteurCell` , `ajusteurPath` )"; 
    	$strScript .= "VALUES ('', '$aPrenom', '$aNom', '$aNumIdent', '$aAcces', '$aActif', '$aPhoneMaison', '$aLogin', '$aPwd', '$aCell', '$aRepertoire');";
     
    	mysql_query($strScript) or die(mysql_error());
    	$id = mysql_insert_id();
     
                    //envoie vers la page de confirmation
    	header("location:../Page/confirmation.php?type=2&val=$id");
    }
    else{
    	//envoie vers la page d'accueil si mkdir est false
    	header("location:../Page/home.php"); //ligne 42
    }
    Alors il va dans le false mais ne change pas le header car il est déjà changé selon l'erreur suivante
    Warning: mkdir(C:/GDRBD/dfjhf): No such file or directory in C:\server\Apache2\htdocs\gdr\Action\ActModifieAjusteur.php on line 25

    Warning: Cannot modify header information - headers already sent by (output started at C:\server\Apache2\htdocs\gdr\Action\ActModifieAjusteur.php:25) in C:\server\Apache2\htdocs\gdr\Action\ActModifieAjusteur.php on line 42
    Comment faire la redirection vers la page home à la ligne 42 sans qu'il affiche les warning?

    merci de votre aide

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    met un @ :
    @mkdir

  3. #3
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    ou une solution plus propres a mon avis serait de tester l'existence du dossier avant avec la commande "file_exists"

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    oui aussi

  5. #5
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Merci siddh, effectivement ca marche avec le @

    Est-ce que tu peux m'expliquer l'utilité ou l'astuce derrière ca?


  6. #6
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ben ca n'affiche pas le message d erreur c est tout

    tu peut l utiliser sur quasi toutes les fonctions

  7. #7
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par Bebel
    ou une solution plus propres a mon avis serait de tester l'existence du dossier avant avec la commande "file_exists"
    is_dir serait encore mieux non ?

    A bas le @ ! Quand tu fais le ménage chez toi, tu caches la poussière sous le tapis ???

  8. #8
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    oui c vrai que is_dir est mieux, puisqu'il verifie a la fois si le fichier existe et si c'est un dossier.

  9. #9
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Ok je prend ca en note merci beaucoup pour les conseils!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD12E]Erreur sur code inexistant
    Par no_me_entero dans le forum WinDev
    Réponses: 8
    Dernier message: 17/04/2009, 10h57
  2. Attraper les erreurs mémoire
    Par PascalLando dans le forum Langage
    Réponses: 1
    Dernier message: 11/02/2009, 02h07
  3. 'Attraper' les erreurs non traités
    Par snopims dans le forum ASP.NET
    Réponses: 4
    Dernier message: 08/04/2008, 10h54
  4. 'Attraper' les erreurs non traités
    Par CAML dans le forum Windows Forms
    Réponses: 7
    Dernier message: 13/04/2007, 14h19
  5. Impossible d'attraper une erreur
    Par jagboys dans le forum C++Builder
    Réponses: 2
    Dernier message: 16/06/2005, 00h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo