Расширение файла `` не допускается
Столкнулся с такой вот проблемой Расширение файла `` не допускается:
В системных настройках upload_files конечно же был указан png
Мне конечно же не мешало, но заказчику не нравилось.
Оказалось, что всё дело в компоненте filetranslit.
После отключения или удаления плагина, всё начинает работать корректно.
Но, если всё же вам надо транслитерировать название файлов при загрузке, можно воспользоваться версией плагина от Ильи Уткина (за что ему спасибо)
В обсуждении на сайте у Ильи есть и другие варианты и версии как транслитерировать, так что вы вправе выбрать и другие варианты.
Возможно кто-то перепишет и самую версию filetranslit и тогда поделитесь своим решением в этом топике.
Всем успехов и не тратьте время на поиски решения :)
В системных настройках upload_files конечно же был указан png
txt,html,htm,xml,js,css,zip,gz,rar,z,tgz,tar,mp3,mp4,aac,wav,au,wmv,avi,mpg,mpeg,pdf,doc,docx,xls,xlsx,ppt,pptx,tiff,svg,svgz,gif,psd,ico,bmp,odt,ods,odp,odb,odg,odf,md,ttf,woff,eot,scss,less,css.map,jpg,jpeg,png,php
При этом файл успешно загружался и всё равно было такое уведомление.Мне конечно же не мешало, но заказчику не нравилось.
После отключения или удаления плагина, всё начинает работать корректно.
Но, если всё же вам надо транслитерировать название файлов при загрузке, можно воспользоваться версией плагина от Ильи Уткина (за что ему спасибо)
<?php
switch ($modx->event->name) {
case 'OnFileManagerUpload':
$generator = $modx->newObject('modResource');
$bases = $source->getBases($directory);
$fullPath = $bases['pathAbsolute'].ltrim($directory,'/');
$directory = $source->fileHandler->make($fullPath);
foreach ($files as $file) {
$fileniz = mb_strtolower($file['name']);
$ext = @pathinfo($fileniz,PATHINFO_EXTENSION);
rename($directory->getPath().$file['name'], $directory->getPath() .
str_replace($ext, '.'.$ext, $generator->cleanAlias($file['name'])));
}
break;
default: break;
}
return true;
То есть, чтобы не создавать новый плагин, в этом же плагине filetranslit полностью заменяете код на версию от Ильи и будет работать.В обсуждении на сайте у Ильи есть и другие варианты и версии как транслитерировать, так что вы вправе выбрать и другие варианты.
Возможно кто-то перепишет и самую версию filetranslit и тогда поделитесь своим решением в этом топике.
Всем успехов и не тратьте время на поиски решения :)
Поблагодарить автора
Отправить деньги
Комментарии: 3
Можно не менять плагин, а в системных настройках в разделе «Дружественные URL» в параметре
friendly_alias_restrict_chars_pattern убрать точку, чтобы она не вырезалась из имени файла при его закачке.
Либо в friendly_alias_restrict_chars поставить alphanumeric — тогда шаблон использоваться не будет.
friendly_alias_restrict_chars_pattern убрать точку, чтобы она не вырезалась из имени файла при его закачке.
Либо в friendly_alias_restrict_chars поставить alphanumeric — тогда шаблон использоваться не будет.
Спасибо, помогло.
Спасибо!
Только один минус — буква «й» заменяется на символ «ĭ», хотя в таблице символов все нормально прописано:
'й'=>'j'
'Й'=>'j'
Только один минус — буква «й» заменяется на символ «ĭ», хотя в таблице символов все нормально прописано:
'й'=>'j'
'Й'=>'j'
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.