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

Практика




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

за вывод отвечает функции расположенные в файле

filemanager.php

проверьте не используются ли в нем функции , не поддерживающие UTF-8
установите локаль setlocale(LC_ALL, "ru_RU.UTF-8");


используйте mb_strtolower вместо strtolower


проверьте что вообще файлы на сервере существуют в папках
и в для этих папок установлены разрешение на запись например 777

проверил файлы есть, но они русскими буквами
хотя в апаче настроено utf 8, но с файлового менеджера список файлов нормально отображается, а если сделать

$files = glob(rtrim($directory, '/') . '/*');
echo "
";
var_dump($files);

echo "
";

то названия файлов с закарлючками

вероятно что то не то с кодировкой

если вообще заменить

$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);
}



то список появился (и расширение проверять иначе)

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));



но на самом сайте фото товаров не отображается, отображаются только в файловом менеджере

вы загружали с файлового менеджера?
проверьте какую кодировку при загрузке использовал файловый менеджер?
авто или определенную

дело в том что в линукс системе нет кодировок в файловой системе и только клиент при чтении и записи говорит в какой кодировке считать названия файлов скорее всего у вас произошла путаница , и сохраняли не в utf кодировке, но сам менеджер нормально читать будет, а вот скрипты php пытаются прочитать названия интерпретируя байты как uft8, но сохраненные в , например, win 1251

решить проблему можно установкой правильной кодировки
и перезаливкой фалов на сервер

или боже в самих скриптах переписывал фунции и туда сюда гонять названия из одной в другую кодировку

да, спасибо, помогло
создано: 2013-09-17
обновлено: 2026-03-08
1036



Помог ли вам этот ответ?
Нажмите оценку и напишите коротко почему. Так мы сможем сделать следующие ответы точнее и полезнее.
Насколько вы довольны ответом?
Ваш отзыв напрямую влияет на качество следующих подсказок и ответов.


Поделиться:
Пожаловаться

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выполнения задания
  • Возможно применение функции гаранта на сделку
  • Приоритетная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можете продать (как исполнитель) или купить (как заказчик) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно применение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии

Оставить комментарий

Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Лекции и учебник по "Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend) "

Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)