/** * Make a directory on the server. * * @param string $directoryPath Path where to create the directory * @param string $directoryName Name of the directory to create * @param int $permissions Permissions to apply to the directory * @return array Status and a message */ public static function mkdir($directoryPath, $directoryName, $permissions = 0755) { // only allow uploads in 'our' directory $directoryPath = BASEPATH . self::addTrailingSlash($directoryPath); // check that path is valid if (!is_dir($directoryPath) || !is_writable($directoryPath)) { return array('status' => 'fail', 'message' => 'The path is not writable.'); } // escape dirname $directoryName = Fari_Escape::directory($directoryName, TRUE); // does directory already exist? if (is_dir($directoryPath . $directoryName)) { return array('status' => 'fail', 'message' => 'Directory \'' . $directoryName . '\' already exists.'); } // make a directory if (!@mkdir($directoryPath . $directoryName, $permissions, TRUE)) { return array('status' => 'fail', 'message' => 'Failed to create a folder.'); } return array('status' => 'success', 'message' => 'Directory \'' . $directoryName . '\' created succesfully.'); }