PclZip::privDirCheck PHP Method

privDirCheck() public method

--------------------------------------------------------------------------------
public privDirCheck ( $p_dir, $p_is_dir = false )
    public function privDirCheck($p_dir, $p_is_dir = false)
    {
        $v_result = 1;
        // ----- Remove the final '/'
        if ($p_is_dir && substr($p_dir, -1) == '/') {
            $p_dir = substr($p_dir, 0, strlen($p_dir) - 1);
        }
        // ----- Check the directory availability
        if (is_dir($p_dir) || $p_dir == '') {
            return 1;
        }
        // ----- Extract parent directory
        $p_parent_dir = dirname($p_dir);
        // ----- Just a check
        if ($p_parent_dir != $p_dir) {
            // ----- Look for parent directory
            if ($p_parent_dir != '') {
                if (($v_result = $this->privDirCheck($p_parent_dir)) != 1) {
                    return $v_result;
                }
            }
        }
        // ----- Create the directory
        if (!@mkdir($p_dir, 0777)) {
            // ----- Error log
            PclZip::privErrorLog(PCLZIP_ERR_DIR_CREATE_FAIL, "Unable to create directory '{$p_dir}'");
            // ----- Return
            return PclZip::errorCode();
        }
        // ----- Return
        return $v_result;
    }