error != ManagerError::Success ){ echo $uploadAuthResource->error; exit(); } /* (3) On récupère la config sous forme de tableau */ $uploadAuth = json_decode( $uploadAuthResource->getContent(), true ); /* (4) Si erreur de PARSAGE */ if( $uploadAuth == null ){ echo ManagerError::ParsingFailed; exit(); } /* [2] Vérification du préfixe =========================================================*/ // Si le préfixe n'est pas dans la config -> erreur if( !in_array($prefix, $uploadAuth['directories']) ){ echo ManagerError::UploadError; exit(); } /* [3] Construction du chemin =========================================================*/ /* (1) On construit le chemin */ $path = __ROOT__.$uploadAuth['root'].'/'.$_POST['prefix'].'/'; /* (2) On crée le dossier s'il n'existe pas */ if ( !file_exists($path) ) mkdir($path, 0777, true); /* (3) On construit le nom du fichier */ $fileName = $_SESSION['username'].'.'; // Nom $fileName .= pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); // Extension /* (4) On se place dans le dossier */ chdir( $path ); /* [4] Création du fichier (temporaire->permanent) =========================================================*/ if( move_uploaded_file($_FILES['file']['tmp_name'], $path.$fileName) ){ // on modifie les droits du fichier chmod($path.$fileName, 0774); echo ManagerError::Success; } else echo ManagerError::UploadError; ?>