Четверг, 26 Мар 2015 в 0:42
Загрузить большие изображения в OpenCart
По умолчанию в OpenCart установлено ограничение на загрузку изображений с размером файла больше 300Кб и разрешением больше чем 1000 на 1000 пикселей.
Но, хочется чего-то большего. Так что поправим некоторые модули в админке.
Изменения в файлах
Для снятия ограничения на размер файла изменим контроллер admin/controller/common/filemanager.php
Находим строки:
if ($this->request->files['image']['size'] > 300000) { $json['error'] = $this->language->get('error_file_size'); }
и изменяем в них значение 300000, а это именно размер в байтах, на то, который нам нужен «в байтах». В случае 3Мб = 3145728 байт. Теперь код выглядит вот так:
if ($this->request->files['image']['size'] > 3145728) { $json['error'] = $this->language->get('error_file_size'); }
Для снятия ограничения на размер изображения 1000 на 1000 пикселей (в последних версия Opencart не актуально, там уже это ограничение отсутствует)
if (!isset($json['error'])) { if(substr($this->request->files['image']['type'],0,5)=='image'){ $imageinfo = getimagesize($this->request->files['image']['tmp_name']); if($imageinfo[0]>1000 || $imageinfo[1]>1000){ exec('convert -colorspace RGB "'.$this->request->files['image']['tmp_name'].'" -resize 1000x1000 "'.$this->request->files['image']['tmp_name'].'"'); } } if (@move_uploaded_file($this->request->files['image']['tmp_name'], $directory . '/' . basename($this->request->files['image']['name']))) { $json['success'] = $this->language->get('text_uploaded'); } else { $json['error'] = $this->language->get('error_uploaded'); } }
изменяем значения $imageinfo[0]>1000 || $imageinfo[1]>1000 на нужные.
- Category: OpenCart, Сайтостроение
- Ваш отзыв