在PHP中创建非英语目录

Ala*_*agh 5 php codeigniter

我希望能够以其名称为注册用户创建文件夹.他们的信息以西里尔字符存储在我的数据库中,并在创建文件夹时从他们的信息中删除.问题是,如果信息是英文的,一切都还可以,如果在西里尔语中,我会得到像Кульчманова这样的东西.一切都设置为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.'/';
Run Code Online (Sandbox Code Playgroud)

将不胜感激任何帮助

gd1*_*gd1 3

强烈建议您在服务器上的目录名称中使用纯 ASCII 字符,甚至更好:仅使用数字、小写字母和下划线。使用特殊字符总是会带来麻烦,而且似乎您已经遇到了一些麻烦。

我建议您将目录命名为数字用户 ID(他们肯定有一个),如果您发现它看起来更好,则用零填充(所有名称都具有相同的长度)。