avatar

в Opencart в админке не отображаются картинки в менеджере файлов, возможно из за русских букв

Рейтинг 4 из 5. Голосов: 258
Den 6 лет назад
5
,

0


Ответы (5)

Den
avatar
Модератор За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений За 700 сообщений №1 по сообщениям
1026 Mar 10
6 лет назад
в Opencart в админке не отображаются картинки в менеджере файлов, возможно из за русских букв
отправить
+ 0

Redy
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений
503 Mar 10
6 лет назад
за вывод отвечает функции расположенные в файле filemanager.php проверьте не используются ли в нем функции , не поддерживающие UTF-8 установите локаль setlocale(LC_ALL, "ru_RU.UTF-8"); используйте mb_strtolower вместо strtolower проверьте что вообще файлы на сервере существуют в папках и в для этих папок установлены разрешение на запись например 777
отправить
+ 0

Den
avatar
Модератор За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений За 700 сообщений №1 по сообщениям
1026 Mar 10
6 лет назад
проверил файлы есть, но они русскими буквамихотя в апаче настроено utf 8, но с файлового менеджера список файлов нормально отображается, а если сделать
CODE:
$files = glob(rtrim($directory, '/') . '/*');echo "<pre>"; var_dump($files); echo "</pre>";
то названия файлов с закарлючкамивероятно что то не то с кодировкойесли вообще заменить
CODE:
$files = array(); $dir = opendir(rtrim($directory, '/').'/'.'.');while(($currentFile = readdir($dir)) !== false){if ( $currentFile == '.' or $currentFile == '..' ){continue;}$files[] = rtrim($directory, '/').'/'.iconv('windows-1251', 'UTF-8', $currentFile);}
то список появился (и расширение проверять иначе)
CODE:
if (is_file(iconv('UTF-8','windows-1251' , $file))) { $ext = mb_strrchr ($file, '.'); } else { $ext = ''; } $ext = ".".end(explode(".", iconv('UTF-8','windows-1251' , $file))); if (in_array(mb_strtolower($ext), $allowed)) { $size = filesize(iconv('UTF-8','windows-1251' , $file));
но на самом сайте фото товаров не отображается, отображаются только в файловом менеджере
отправить
+ 0

Redy
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений
503 Mar 10
6 лет назад
вы загружали с файлового менеджера? проверьте какую кодировку при загрузке использовал файловый менеджер? авто или определенную дело в том что в линукс системе нет кодировок в файловой системе и только клиент при чтении и записи говорит в какой кодировке считать названия файлов скорее всего у вас произошла путаница , и сохраняли не в utf кодировке, но сам менеджер нормально читать будет, а вот скрипты php пытаются прочитать названия интерпретируя байты как uft8, но сохраненные в , например, win 1251 решить проблему можно установкой правильной кодировки и перезаливкой фалов на сервер или боже в самих скриптах переписывал фунции и туда сюда гонять названия из одной в другую кодировку
отправить
+ 0

Den
avatar
Модератор За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений За 700 сообщений №1 по сообщениям
1026 Mar 10
6 лет назад
да, спасибо, помогло
отправить
+ 0


Чтобы оставить комментарий войдите или зарегистрируйтесь