Чуть покурил...А надо было почитать )
Правильно ли я понимаю, что после readfile($file_path);нет, по тому что никто не будет принимать заголовки после вывода контента.
нужно прописать правильные header
$nameitem[0] = $namemit[0]; Читайте внимательно мой ответ.
А если картинки в совершенно разных расширениях прилетают - jpg, png, bmp, gif, то лучше jpg + webp сделать и конвертировать всех в эти форматы?Да, на сайте не должно быть зоопарка форматов, а для фото лучше всего подходят жпег и вебп.
Есть мнение, что поисковики обращают внимание на имя картинок. и тогда идентификатор в названии уже не прокатит. и микротайма.Хз что там считают, пока ни на одном проекте смена имен фото никакого сео эффекта не выявила, а для подсказки поисковикам есть альт, титл и дескрипшн. Хотя можете почитать тут, вроде там описывается как это все работает. Кроме того - ничего не мешает хранить то же имя на латинице + ид + микротайм.
идентификатором служит папка с id товара или id категории и т.п.Тут есть нюанс. При достижении некоторого большого количества подпапок в папке начнутся тормоза при просмотре этой папки, то же относится и к файлам. Учитывайте это, в идеале желательно как-то разбивать папки на группы, например сохранять по путям типа /images/таймстамп_текущего_года+месяца/размер/123.jpg
jpeg не умеет прозрачные фоны делать. вот что плохо.Ну, так то прозрачный фон обычно используют только в общем дизайне, в списках изображений товаров это дурной тон. Посмотрите на тот же алиэкспресс или ибэй с амазоном, никто такой фигней не занимается.
Он поинтересовался как сделать запрос, а не как сделать архитектуру БД оптимально.Не суть важно кто написал, факт остается фактом - есть бд с кривой структурой, это надо исправлять.
Почему вы решили что автор является архитектором БД?Если ТС не ее проектировщик, то и принимать на свой счет какую-либо критику он не будет. А вот переделать как надо - задача нормального разработчика.
Почему вы решили что этот запрос будет выполняться постоянно, а не к примеру разово?Во первых - почему нет? Во вторых - исходя из опыта и структуры предоставленных данных, явно это связь с каким-то объектом, описанным вот таким кривоватым способом, по которому идет поиск.
Почему вы решили что ему нужно читать/парсить/менять?Я вообще ничего не решал, просто указал на проблему такого типа хранения. Вы вообще читаете что написано, или просто пофлеймить зашли?
Будьте сдержаннее в выводах.Давайте без вот этого вот, "политкорректность, блм, точки в конце предложения это агрессия" и прочий шлак? Мои выводы если где-то не точны, их поправит автор вопроса. А если ему интересно как сделать правильно и ему хватит опыта и компетенции понять что надо сделать и реализовать это - будет вообще замечательно.
В итоге простенький проект выливается в сотни тысяч евро. Распил?Даже если так - заказчик платит, значит ему похрен на деньги, важно сделать как ему надо. За такие деньги можно и 20 раз функционал менять, и чем искать 10 проектов за 10к, проще найти 1 за 100к, имхо чистый маркетинговый вин.
Эта удобно если считать что доп полей может быть 20-50 штук.вообще для этого есть специальный паттерн хранения - EAV. Никаких 50 полей в базе не нужно.
и даже анимационное говно таким образом можно откинуть?а что мешает? Оно же все через цсс вроде сейчас можно, в крайнем случае тупо скрываете все блоки с анимацией, показываете обычные.
Может человеку религия не позволяет пользоваться гуглом. Зато тостером вполне.Может, вот только религия тостера явно указывает на пункт 2.2 правил:
2.2 Убедиться в том, что в сети Интернет, и на страницах Сервиса в частности, отсутствуют ответы на данный вопрос. Специально для этого талантливые IT-специалисты создали и развивают поисковые системы Яндекс и Google.
он задал корректный вопрос, дайте корректный ответ, либо просто молчитеОн задал вопрос, на который лучшим ответом было бы подать жалобу, и пункт если что, как раз "ответ легко ищется поисковиком". Но в процессе обсуждения человек мог бы дойти своим умом до ответа, по этому ему дают намек, куда смотреть, тут кстати так принято - не давать готовые решения, а объяснять причину ошибки (что тоже кстати есть в правилах, которые неплохо бы прочитать для начала).