Как получить адрес созданной папки в elFinder 2.0?

Added by Михаил Миронов 6 months ago

Здравствуйте

Я пытаюсь получить адрес созданной папки с помошью elFinder 2.0 для того чтоб путь к нему сохранить в базе данных. Я в файле elFinderVolumeDriver.class.php нашел вот такую вот часть

     * Create directory and return dir info
     *
     * @param  string   $dst  destination directory
     * @param  string   $name directory name
     * @return array|false
     * @author Dmitry (dio) Levashov
     **/
    public function mkdir($dst, $name, $copy=false) {
        $path = $this->decode($dst);

        if (($dir = $this->dir($dst)) == false) {
            return $this->setError(elFinder::ERROR_TRGDIR_NOT_FOUND, '#'.$dst);
        }

        if (!$dir['write']) {
            return $this->setError(elFinder::ERROR_PERM_DENIED);
        }

        if (!$this->nameAccepted($name)) {
            return $this->setError(elFinder::ERROR_INVALID_NAME);
        }

        if ($copy && !$this->options['copyOverwrite']) {
            $name = $this->uniqueName($path, $name, '-', false);
        }

        $dst = $this->_joinPath($path, $name);

        if ($this->_fileExists($dst)) {

            if ($copy) {
                if (!$this->options['copyJoin'] && $this->attr($dst, 'write')) {
                    foreach ($this->_scandir($dst) as $p) {
                        $this->doRm($p);
                    }
                }
                return $this->stat($dst);
            } 

            return $this->setError(elFinder::ERROR_EXISTS, $name);
        }

        return $this->_mkdir($path, $name) ? $this->stat($this->_joinPath($path, $name)) : false;
    }


Беру переменную $dst, но в итоге получаю адрес вида: ../safes/1РјРѕРё приколы89 (а должно быть:../safes/1/89)
Я так понял что имя папки, где создается подпапка зашифровывается. А как получить не зашифрованный путь вида: ../safes/1/89?

Спасибо.


Replies (1)

RE: Как получить адрес созданной папки в elFinder 2.0? - Added by Troex Nevelin 6 months ago

Не похоже это на зашифровку, у вас в $dst один из / почему-то заменился не понятно на что, может это как-то связано с кодировкой?

(1-1/1)