делаю запрос в бд, вытаскиваю товары которые есть в API и пытаюсь искать в массиве вытащенных товаров - товары, которых нет в API через in_array,Для этого есть not in, перечисляете айдишники/уникальные идентификаторы всех пришедших с апи товаров, и у оставшихся ставите наличие 0 одним апдейтом.
но что-то фигня какая-то получается, находит один единственный товар, который есть и в API и в бдПо описанию вообще не ясно как вы ищете совпадающие товары, по этому есть мысль что проблема скорее в коде и алгоритме, чем в апи или базе.
-window.addEventListener('DOMContentLoaded', () => {
+document.addEventListener('DOMContentLoaded', () => {
The tables must be InnoDB. After converting the tables to InnoDB, the database could be migrated
Я хочу вынести ее из публичной папки.Зачем? Есть какая-то особенная необходимость? По логике все файлы сайта должны находиться в одной папке проекта, а файлы видимые из веба в публичной папке проекта. В некоторых случаях, например когда эти файлы не должны отдаваться без какого-то уровня доступа, их выносят выше публичной папки, таким образом закрывая от прямого доступа из веб. Далее доступ осуществляется через пхп, конкретная реализация сильно зависит от задач и имеющегося кода/фреймворка. Простейший вариант - имя файла читается как параметр из урл, далее делается readfile() из этой папки с файлами, предварительно отдаются заголовки, указывающие что это файл изображения. Хотя без понимания "зачем" реализация "как" это тыканье пальцем в небо. Может вам симлинк тупо подойдет...
В идеале - в любое место на диске, которое захочу.Так делать не нужно. Это во первых нарушает безопасность, так как вы даете права на чтение из веба в папку, которая не должна быть доступной левым пользователям, во вторых распыляет проект по машине, что тоже не есть хорошо как минимум в плане организации.
по итогу генерируется фото футболки с теми параметрами, которые он выбрал?Называется "влажные фантазии". Обычно на маркетплейсах за подобный функционал отвечает фильтрация, а не меню. Никакой генерации обычно не используется, просто фото всех доступных вариантов есть в виде картинок, а параметры перечислены в бд.
Кеш именно статики, после обновление картинок уловно в public/assets в формате PNG, они упорно не отображаются даже при прямой запросе изображения в строке браузера.Кэш "статики" это чисто в вашем браузере. На другой машине все ваши картинки будут отображаться нормально при первом заходе, но так же перестанут подгружаться измененные при последующих заходах. Никакие "кэши ларавела" конечно же за это не отвечают.
Как решения прописывать каждый раз новые пути и название картинок - но не оч удобно при разработки визуала.Можете использовать версию, что-то типа
<img src="logo.png?<?=VER?>">
, естественно надо будет менять эту константу при изменении картинок, хотя это и некоторого рода костыли. Правильным решением будет переход на сборку фронтенда сборщиками, но так тоже будет работать. Есть ли какие-нибудь хорошие файловые хранилище с которыми удобно и практично работать?Файловая система. Это самый удобный и практичный метод хранения мультимедийных файлов. В зависимости от ваших возможностей, компетенций и используемых технологий, вы можете использовать как локальную ФС, так и любое облачное хранилище через соответствующее АПИ, используя драйверы доступа к файлам, например как это реализовано в Ларавел.