Перейти к содержанию
Официальный форум поддержки Simpla

Пропали дополнительные картинки некоторых товаров


Рекомендуемые сообщения

Добрый день, друзья!

 

Возникла проблема.

Ранее пропали дополнительные картинки некоторых товаров. Оказалось, что объем Хостинга исчерпан. Но даже после увеличения объема Хостинга ничего не изменилось.

 

В чем может быть проблема и как решить?

 

Спасибо за любую информацию!

Ссылка на сообщение
Поделиться на другие сайты

они каким образом пропали?битые ссылки стали?эти доп фото есть в папке originals? если присутствуют и их размер 0 то ток перезаливать.

Ссылка на сообщение
Поделиться на другие сайты

Попробовать очистить папку files/products.

Если не поможет, исследовать папку files/originals, как говорилось выше...

Ссылка на сообщение
Поделиться на другие сайты

чистка files/products не помогло ((

а каким образом проверить весь каталог, что узнать в каких товарах существует данная проблема?

если их не много, можно было бы заново загружать картинки

Ссылка на сообщение
Поделиться на другие сайты

Вам уже давали выше совет, как проверять:

эти доп фото есть в папке originals?

если присутствуют и их размер 0?

 

Если совсем автоматически хотите, то спец средствами, например:

http://simpla-tuning.com/products/izobrazheniya-kontrolkartinok

Ссылка на сообщение
Поделиться на другие сайты

Мдя, а я такой скрипт бесплатно на форуме выкладывал, для проверки картинок в обе стороны (если картинка есть в папке но нет в базе - почистить папку. сделай себе такое еще, полезно бывает)

Ссылка на сообщение
Поделиться на другие сайты
	public function checkimgs()
	{
 				 
			$this->db->query('SELECT * FROM `s_images`');
			$imgs = $this->db->results();
			 
			foreach ($imgs as $img)
			{
				$nfn = getcwd() . "/files/originals/" . $img->filename;
			 
				if ( !file_exists($nfn) )
				 		$this->db->query('DELETE FROM `__images` WHERE filename = ?', $img->filename );
			}
			
  
		return true;
	}

 

Лень искать. Ну согласитесь элементарный код же? Это из разряда проверить по базе.

 

public function checkimgs()
	{
				$query = $this->db->placehold("SELECT filename FROM __images");
				$this->db->query($query);

				$imgs = $this->db->results();
				foreach ($imgs as $im)
				{
                                    $nfn = getcwd() . "/files/originals/" . $img->filename;
                                    if ( !file_exists($nfn) )
                                        {
                                              $this->db->query('DELETE FROM `__images` WHERE filename = ?', $img->filename );
                                        }
                                    else
				        $newimgs[] = $im->filename;
				}
			             $mask = "files/originals/*.*"; # Задаем маску поиска  			
			             $arr = glob($mask);
			             foreach($arr as $ar)
			             {
				        $arstr = str_replace("files/originals/","",$ar);
				        if (!in_array($arstr,$newimgs))
					   unlink($ar);
			}

		return true;
	}

А это с обратной проверкой.

Ссылка на сообщение
Поделиться на другие сайты

Сейчас у Вас в коде сделано удаление несоответственных вхождений.

 

Если Вам все это так элементарно, то, может, добавите еще функционала полезного?  Например:

1. Список записей в базе, для которых нет картинок.

2. Список картинок, для которых нет записей в базе.

3. Чтоб просматривались комфортно оба списка, с уцелевшими данными, со ссылками на страницы редактирования.

4. Хорошо бы учесть случаи, когда размер графического файла 0.

5. Удалять данные не сразу, а по отдельной команде, желательно даже выборочно.

 

Ведь цель ТС не в том, чтобы удалить несоответствия, а в том, чтобы восстановить испорченные данные.

Ссылка на сообщение
Поделиться на другие сайты

 

Я не ставлю цель написать платное дополнение, а лишь поделился бесплатным способом

 

Ссылка на сообщение
Поделиться на другие сайты

Sheeft и Kors , спасибо большое за ответы.
Sheeft , если не сложно, скажите пожалуйста, куда это все вставить, чтобы провести проверку?!

 

Благодарю!

Ссылка на сообщение
Поделиться на другие сайты
  • 7 месяцев спустя...

Sheeft , если не сложно, скажите пожалуйста, куда это все вставить, чтобы провести проверку?!

 

DarAmal, я столкнулся с похожей проблемой. Вы разобрались куда вставить код Sheeft, чтобы провести эту проверку?!

Ссылка на сообщение
Поделиться на другие сайты

DarAmal, я столкнулся с похожей проблемой. Вы разобрались куда вставить код Sheeft, чтобы провести эту проверку?!

к сожалению нет. проверку не смог выполнить

Ссылка на сообщение
Поделиться на другие сайты

к сожалению нет. проверку не смог выполнить

 

DarAmal, очень жаль.

А еще кто нибудь разбирается в этом и может помочь?

Кто понимает куда нужно вставить код Sheeft, что бы осуществить проверку изображения на его наличие в папке originals и удалить его из базы данных, если изображения в папке нет?

 

Изменено пользователем Scodch
Ссылка на сообщение
Поделиться на другие сайты

DarAmal, очень жаль.

А еще кто нибудь разбирается в этом и может помочь?

Кто понимает куда нужно вставить код Sheeft, что бы осуществить проверку изображения на его наличие в папке originals и удалить его из базы данных, если изображения в папке нет?

 

 

у функции нет параметров. вы можете просто вставить ее в api/Image.php

и вызывать эту ф-ю в админке на какой-то странице, настроек например через

$this->image->checkimgs(); 

привязав ее к кнопке.

Изменено пользователем mishanya
Ссылка на сообщение
Поделиться на другие сайты
  • 1 год спустя...

Добрый день. Прошу помощи у разработчиков. Я перенесла сайт с поддомена на основной домен и картинки все пропали. Где и что мне поправить? Поделитесь, пожалуйста опытом. Спасибо большое.

Ссылка на сообщение
Поделиться на другие сайты

Во-первых, нужно проверить свободное место на хостинге.

Потом проверить наличие библиотек GD или imagik на хостинге.

Потом наличие оригиналов картинок в папке files/originals

Если не поможет - пишите в скайп kosjak1976 (недорого)

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...