elFinder\elFinderVolumeDriver::uniqueName PHP Method

uniqueName() public method

Return new unique name based on file name and suffix
Author: Dmitry (dio) Levashov
public uniqueName ( $dir, $name, string $suffix = ' copy', $checkNum = true ) : string
$suffix string suffix append to name
return string
    public function uniqueName($dir, $name, $suffix = ' copy', $checkNum = true)
    {
        $ext = '';
        if (preg_match('/\\.((tar\\.(gz|bz|bz2|z|lzo))|cpio\\.gz|ps\\.gz|xcf\\.(gz|bz2)|[a-z0-9]{1,4})$/i', $name, $m)) {
            $ext = '.' . $m[1];
            $name = substr($name, 0, strlen($name) - strlen($m[0]));
        }
        if ($checkNum && preg_match('/(' . $suffix . ')(\\d*)$/i', $name, $m)) {
            $i = (int) $m[2];
            $name = substr($name, 0, strlen($name) - strlen($m[2]));
        } else {
            $i = 1;
            $name .= $suffix;
        }
        $max = $i + 100000;
        while ($i <= $max) {
            $n = $name . ($i > 0 ? $i : '') . $ext;
            if (!$this->stat($this->_joinPath($dir, $n))) {
                $this->clearcache();
                return $n;
            }
            $i++;
        }
        return $name . md5($dir) . $ext;
    }