• Как сделать транслитерацию файлов и папок при загрузке на сервер?

    @apokin
    Веб-разработчик
    laravel-elfinder делается это так
    часть конфига прилагаю
    'options' => array(
            'bind'   => [
                'upload.pre mkdir.pre mkfile.pre rename.pre archive.pre ls.pre' => [
                    'Plugin.Normalizer.cmdPreprocess',
                    'Plugin.Sanitizer.cmdPreprocess'
                ],
                'ls'                                                            => [
                    'Plugin.Normalizer.cmdPostprocess',
                    'Plugin.Sanitizer.cmdPostprocess'
                ],
                'upload.presave'                                                => [
                    'Plugin.AutoResize.onUpLoadPreSave',
                    'Plugin.Normalizer.onUpLoadPreSave',
                    'Plugin.Sanitizer.onUpLoadPreSave'
                ],
    
            ],
            'plugin' => [
                'Normalizer' => [
                    'enable' => true,
                    'targets'  => ['\\','/',':','*','?','"','<','>','|',' '], // target chars
                    'replace'  => '_',    // replace to this
                    'convmap' => [
                        ',' => '_',
                        '^' => '_',
                        "а" => "a",
                        "б" => "b",
                        "в" => "v",
                        "г" => "g",
                        "д" => "d",
                        "е" => "e",
                        "ё" => "e",
                        "ж" => "zh",
                        "з" => "z",
                        "и" => "i",
                        "й" => "j",
                        "к" => "k",
                        "л" => "l",
                        "м" => "m",
                        "н" => "n",
                        "о" => "o",
                        "п" => "p",
                        "р" => "r",
                        "с" => "s",
                        "т" => "t",
                        "у" => "u",
                        "ф" => "f",
                        "х" => "h",
                        "ц" => "ts",
                        "ч" => "ch",
                        "ш" => "sh",
                        "щ" => "shch",
                        "ы" => "y",
                        "э" => "e",
                        "ю" => "yu",
                        "я" => "ya",
                        "А" => "a",
                        "Б" => "b",
                        "В" => "v",
                        "Г" => "g",
                        "Д" => "d",
                        "Е" => "e",
                        "Ё" => "e",
                        "Ж" => "zh",
                        "З" => "z",
                        "И" => "i",
                        "Й" => "j",
                        "К" => "k",
                        "Л" => "l",
                        "М" => "m",
                        "Н" => "n",
                        "О" => "o",
                        "П" => "p",
                        "Р" => "r",
                        "С" => "s",
                        "Т" => "t",
                        "У" => "u",
                        "Ф" => "f",
                        "Х" => "h",
                        "Ц" => "ts",
                        "Ч" => "ch",
                        "Ш" => "sh",
                        "Щ" => "shch",
                        "Ы" => "y",
                        "Э" => "e",
                        "Ю" => "yu",
                        "Я" => "ya",
                        " " => "_"
                    ]
                ],
            ],
        ),
    Ответ написан
    Комментировать