Создать не английские каталоги в PHP - PullRequest
5 голосов
/ 28 сентября 2011

Я хочу иметь возможность создавать папки для зарегистрированных пользователей под их именами.Их информация хранится в моей базе данных кириллическими символами и извлекается из них при создании папки.Дело в том, что если информация на английском языке, то все в порядке, если на кириллице я получаю что-то вроде љ љ ѓ »° ° ° ° ° ° ѕ ѕ ѕ.Все настроено на utf-8.Если я установлю имя папки, то есть 'фыва', это создаст его без проблем.

        $this->load->model('users_model');
    $i=$this->session->userdata('uid');
    $new_name=$this->input->post('doc_name');
    $folder=$this->users_model->getFullName($i); //$folder='фыва' works fine

    if(!is_dir("./uploads/".$folder)){
        mkdir("./uploads/".$folder , 0777);
    }
    $config['file_name'] = $new_name;
    $config['upload_path'] = './uploads/'.$folder.'/';

Буду признателен за любую помощь

1 Ответ

3 голосов
/ 28 сентября 2011

I настоятельно рекомендуется использовать только простые символы ASCII в именах каталогов на серверах или, что еще лучше: только цифры, строчные буквы и подчеркивание. Использование специальных символов всегда приносит проблемы, и кажется, что они уже есть.

Я предлагаю вам назвать каталог в виде числового идентификатора пользователя (он, безусловно, есть), дополненный нулями, если вы считаете, что он выглядит лучше (все имена имеют одинаковую длину).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...