@Guyler

Поможите править код для модуля импорта файлов в cms opencart?

Нужно доработать модуль, так что бы он при каждом импорте товара создавал новую папку в определенной директории и загружал туда картинки с датой и временем загрузки. Модуль я приобрел в просторах интернета. Беда в том что он грузит все фотки в одну папку и это очень плохо. А хотелось бы что бы при каждом импорте создавалась новая папка.

Если я прав то вот эта часть кода которая за это отвечает. Могу полностью весь код сбросить. Помогите плиз.

public function fetchImage($image_url, $folder='') {
		if (strpos($image_url, 'http') !== 0) {
			return '';
		}
		
		if($folder != '') {
			$new_folder = DIR_IMAGE . 'data/' . $folder;
			if (!file_exists($new_folder)) {
				mkdir($new_folder, 0777, true);
			}
		}
		
		if (strstr($image_url, '?')) {
			if($folder != '') {
				$filename = 'data/' . $folder . '/' . md5($image_url) . '.jpg';
			} else {
				$filename = 'data/' . md5($image_url) . '.jpg';
			}
		} else {
			$url_parts = explode('/', $image_url);
			
			if($folder != '') {
				$filename = 'data/' . $folder . '/' . end($url_parts);
			} else {
				$filename = 'data/' . end($url_parts);
			}
			
		}
		if (!file_exists(DIR_IMAGE . $filename)) {
			$fp = fopen(DIR_IMAGE . $filename, 'w');
			$ch = curl_init();
			curl_setopt($ch, CURLOPT_URL, $image_url);
			curl_setopt($ch, CURLOPT_FILE, $fp);
			curl_exec($ch);
			$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
			curl_close($ch);
			fclose($fp);
			$file_info = getimagesize(DIR_IMAGE . $filename);
			if($httpCode == 404 || empty($file_info) || strpos($file_info['mime'], 'image/') !== 0) {
				unlink(DIR_IMAGE . $filename);
				$filename = '';
			}
		}
		return $filename;
	}
  • Вопрос задан
  • 204 просмотра
Пригласить эксперта
Ответы на вопрос 1
scherbuk
@scherbuk
тоесть у тебя где то есть $this->fetchImage('vasya.jpg')
нужно поменять на $this->fetchImage('vasya.jpg', 'папка')
тогда картинки будут падать в /data/папка
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
25 апр. 2024, в 16:12
2000 руб./за проект
25 апр. 2024, в 16:08
130000 руб./за проект