Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

в 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
обновлено: 2021-03-13
133134



Рейтиг 10 of 10. count vote: 2
Вы довольны ?:


Поделиться:

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

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

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

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



Комментарии


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

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

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