Bonjour,
Je viens de tomber sur une chose assez étrange en PHP 5.4.3,
si quelqu'un peut confirmer mon impression.
J'ai 2 fonctions :
La première, appelle une fonction de création de dossier et test le déroulement de cette dernière avant d'exécuter ses propres instructions.
La seconde créer le dossier, dont voici le code :
Voici les instructions d'appel de cette fonction, qui me retourne un truc assez bizarre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 private function creerDossier($path) { return (file_exists($path)) ? 'FOLDER_ALREADY_EXISTS' : mkdir($path, 0777); }
Le problème, est que je ne rentre jamais dans ma condition...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // Creation du dossier de mise à jour $check_folder = $this -> creerDossier($maj_relative_path); // On vérifie que le dossier n'existe pas déjà (auquel cas, la mise à jour a déjà été proposée) if ($check_folder && $check_folder != 'FOLDER_ALREADY_EXISTS') { // instructions....
J'ai fait plusieurs tests dont voici le code, puis les résultats :
le résultat est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 echo 'CHECK FOLDER = exactement >>> ' . $check_folder . ' <<<<br />'; if ($check_folder) echo 'CHECK FOLDER = TRUE<br />'; if ($check_folder == 'FOLDER_ALREADY_EXISTS') echo 'CHECK FOLDER = FOLDER_ALREADY_EXISTS<br />'; if (is_string($check_folder)) echo 'CHECK FOLDER est une string';
CHECK FOLDER = exactement >>> 1 <<<
CHECK FOLDER = TRUE
CHECK FOLDER = FOLDER_ALREADY_EXISTS
Je ne comprends pas du tout...
1) le dossier n'existe pas de base.
2) le dossier se créer quand même.
3) si j'actualise ma page, j'obtiens :
CHECK FOLDER = exactement >>> FOLDER_ALREADY_EXISTS <<<
CHECK FOLDER = TRUE
CHECK FOLDER = FOLDER_ALREADY_EXISTS
CHECK FOLDER est une string
Je suis assez perplexe sur le retour de ce code.
Quelqu'un pourrait t'il m'éclairer ?
Merci par avance
Partager