[РЕШЕНО] PNG to JPG 1. — БД и картинки

ВОПРОС РЕШЕН

нужно использовать

 serialize()

сделал запрос - потом раскодировал - потом ввел тестовые записи - назад закодировал - вписал в базу данных руками - все заработало (даже удалились в ручную загнанные изображения для проверки )

// раскодируем 
$serialize_array = "то что в базе данных"; 
$data = unserialize(htmlspecialchars_decode($serialize_array));

// дописываем нужный код 
$data[sizes][png_old] = Array(
	"file" => "Cover.png",
	"width" => "300",
	"height" => "300",
	"mime-type" => "image/jpeg"
); 

// кодируем обратно 
$serialize_array = serialize($data);

САМ ВОПРОС

При загрузке картинок все размеры миниатюр пишутся в wp_postmeta -> _wp_attachment_metadata
в таком виде

a: 5: {
	s: 5: "width";i: 1024;s: 6: "height";i: 1447;s: 4: "file";s: 21: "2017/07/test_file.jpg";s: 5: "sizes";a: 4: {
		s: 9: "thumbnail";a: 4: {
			s: 4: "file";s: 21: "test_file-300x300.jpg";s: 5: "width";i: 300;s: 6: "height";i: 300;s: 9: "mime-type";s: 10: "image/jpeg";
		}
		s: 6: "medium";a: 4: {
			s: 4: "file";s: 21: "test_file-283x400.jpg";s: 5: "width";i: 283;s: 6: "height";i: 400;s: 9: "mime-type";s: 10: "image/jpeg";
		}
		s: 7: "testree";a: 4: {
			s: 4: "file";s: 22: "test_file-920x1300.jpg";s: 5: "width";i: 920;s: 6: "height";i: 1300;s: 9: "mime-type";s: 10: "image/jpeg";
		}
		s: 10: "list-index";a: 4: {
			s: 4: "file";s: 21: "test_file-280x400.jpg";s: 5: "width";i: 280;s: 6: "height";i: 400;s: 9: "mime-type";s: 10: "image/jpeg";
		}
	}
	s: 10: "image_meta";a: 12: {
		s: 8: "aperture";s: 1: "0";s: 6: "credit";s: 0: "";s: 6: "camera";s: 0: "";s: 7: "caption";s: 0: "";s: 17: "created_timestamp";s: 1: "0";s: 9: "copyright";s: 0: "";s: 12: "focal_length";s: 1: "0";s: 3: "iso";s: 1: "0";s: 13: "shutter_speed";s: 1: "0";s: 5: "title";s: 0: "";s: 11: "orientation";s: 1: "0";s: 8: "keywords";a: 0: {}
	}
}

Вопрос: как руками дописать несуществующий размер картинки, который руками был добавлен на сервер? - к примеру

        s: 10: "not-added";a: 4: {
			s: 4: "file";s: 21: "test_file-1024x1447.jpg";s: 5: "width";i: 1024;s: 6: "height";i: 1447;s: 9: "mime-type";s: 10: "image/jpeg";
		}

в чем проблема у меня
Если я дописываю руками в подобном роде и выставляю размеры больше или равные оригиналу - то все картинки вызываются с одинаковым размером и игнорируются миниатюры

по командам

echo wp_get_attachment_image_url( $idd, 'full' ) .'<br>';
echo wp_get_attachment_image_url( $idd, 'medium' ) .'<br>';
echo wp_get_attachment_image_url( $idd, 'testre' ) .'<br>';

было

http://site.tk/wp-content/uploads/2017/07/test_file.jpg
http://site.tk/wp-content/uploads/2017/07/test_file-283x400.jpg
http://site.tk/wp-content/uploads/2017/07/test_file-1000x1000.jpg

при моем вмешательстве все

http://site.tk/wp-content/uploads/2017/07/test_file.jpg
http://site.tk/wp-content/uploads/2017/07/test_file.jpg
http://site.tk/wp-content/uploads/2017/07/test_file.jpg
Заметки к вопросу:
campusboy 6.7 лет назад

Как насчёт попробовать плагин Kama Thumbnail и больше не париться с миниатюрами?

kolshix 6.7 лет назад

задумывался, но у меня не стоит вопрос о уменьшении размера хостинга, сайт ростет на 1 гб в месяц - все картинки статичны и постоянно используются -

у меня есть желание настроить плагин Png to jpg под свои нужды , он отлично конвертирует формат файлов ПНГ В ДЖИПЕГ и при этом сохраняет оригинал ( у меня главное сохранить оригинал) но оригинал не пишится в базу данных и при этом при удалении картинки на серваке остаются оригиналы а это плохо - вот и хочу загонять этот оригинал в базу данных в произвольно созданный размер картинки

миниатюр у меня всего создается 2 штуки - 300х400 и 300х300 и по этому нет смысла юзать Плагин отКАМА - хотя я его функционал знаю чучуть и будущем попробую

в планах заказ хоста на 2ТБ и по этому русурсы использую нещадя - и с каждым годом 1гб информации все дешевле

Kama Thumbnail - это абсолютно не то для моих нужд.

Kama 6.7 лет назад

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

kolshix 6.7 лет назад

я через медиатеку и работаю

вот в чем дело - есть картинки ПНГ по 10мб, ме нужно чтоб на сервере хранились : оригинал в ПНГ + идентичная копия в ДЖИПЕГ (ширина важна для сео) и миниатюры джипег - плагин png to jpg это делает, но не регистрирует png в БД и из- за этого будут проблемы
если бы PNG TO JPG регистрировал все размеры в одну таблицу БД то у пользователя была бы возможность просматривать галерею быстрее в формате jpg и он бы имел возможность грузить оригигнал пнг и поисковики поднимали бы в индексе картинки большого размера вверх - с миниатюрами я буду ы жопе поиска

УЖЕ ДАВНО БЬЮСЬ С ДАННЫМ ВОПРОСОМ - никто не понимает что для сайтов-галерей главное сохранить оригинал для пользователя и создать точную копию в джипеге - все мелят и тыкают в сжатие, но оно нужно для информационных сайтов , мне оно не к чиму без создания сжатой копии оригинала.

ИДЕЮ ПОДСМОТРЕЛ НА САЙТЕ С 8000000 просмотров - а такие сайты являются эталонами

Kama 6.7 лет назад

Хорошо что решил, спасибо что поделился. Но я думал тут что-то посерьезнее serialize(). Это как бы само собой разумеющееся, храниться то сериализованный массив в метаданных вложения... Хорошо, что так все работает.

kolshix 6.7 лет назад

это хорошо что человек носом ткнул на вордпрес ру - я видел что закономерность идет , но чем выставляется эта закономерность не понимал, сейчас другой вопрос в допиливании плагина возник - позже опишу в вопросе

kolshix 6.7 лет назад