Фото в объявлениях скрипта PHP — это галерея карточки: оригинал, превью для ленты, порядок кадров, иногда водяной знак. Без загрузки с телефона доска выглядит пустой, даже если тексты хорошие. На приёмке я первым делом кидаю jpeg с камеры Android — не картинку 80 КБ из демо.
Права на каталоги — chmod. VIP с битыми превью бесполезен — VIP.
Что должно уметь хранилище
- Принимать jpeg/png/webp в разумных лимитах (часто 5–10 МБ на файл).
- Резать превью для списка и для карточки (разные размеры).
- Сохранять порядок: первое фото = обложка в ленте.
- Удалять кадр без поломки всей галереи.
- Не принимать php/phtml под видом картинки.
Ориентир по числу: 8–12 фото на объявление для товаров, для авто/недвижимости иногда больше. Безлимит «50 кадров» убивает диск и терпение модератора.
Серверные настройки, из-за которых «кнопка не работает»
Симптомы: крутилка и тишина, или 413, или пустой ответ. Смотрю:
upload_max_filesizeиpost_max_sizeв PHP — второе должно быть больше суммы файлов.- Лимит nginx
client_max_body_size, если стоит прокси. - Права на
upload/илиstorage/— www-data должен писать. - Место на диске — банально, но бывает.
- GD/Imagick — без них превью не соберутся, останутся огромные оригиналы в ленте.
Поток в мастере подачи
- Выбор файлов / камера.
- Превью на клиенте (если есть) + прогресс.
- Ответ сервера с id файла.
- Сортировка drag-and-drop до отправки формы.
- После сохранения объявления — те же файлы в карточке и в очереди модерации.
Модератору нужны превью в очереди без открытия каждого оригинала на 5 МБ. Иначе очередь встаёт.
Водяной знак и чужие фото
Водяной знак логотипом площадки снижает простое воровство, но портит вид, если непрозрачность высокая. Ставьте уголком, не по центру на весь кадр. Чужие фото с водяными знаками маркетплейсов модератор должен отклонять шаблоном — это частый спам при старте «аналога Авито» (контекст).
Производительность ленты
В списке отдавайте маленькие превью, не оригиналы. Ленивая загрузка картинок ниже первого экрана помогает на мобиле. Webp как производный формат — плюс, но jpeg-фолбэк оставляйте. Битые пути после переноса домена чинятся скриптом замены URL или симлинком — не руками по одной карточке.
- Главная и рубрика: только thumb.
- Карточка: средний размер + lightbox оригинал/крупный.
- Sitemap картинок — по желанию, когда контента много.
Типичные косяки на проде
- Загрузка работает у админа в панели, но не у автора во фронте — разные обработчики.
- После редактирования объявления старые файлы висят вечными сиротами на диске.
- Обложка не обновляется, потому что кэш CDN держит старый thumb — нужна версия в query или новое имя файла.
- В VIP-блоке другой шаблон без
onerror— пустые дыры.
Запуск доски без проверки фото — board — я не считаю законченным. Площадка — под ключ.
Сделайте загрузку с телефона, превью, порядок кадров и вменяемые лимиты. Тогда модерация и VIP имеют смысл: людям есть на что смотреть в ленте. Текст без фото на классифайде почти никто не открывает.
Модерация фото: быстрые правила
Чтобы очередь не превращалась в художественный совет, пишем модераторам четыре отказа:
- нет фото предмета / помещения;
- чужой водяной знак площадки;
- коллаж с телефонами и «пиши в WhatsApp» поверх кадра;
- размытое до неузнаваемости — попросить пересъёмку.
Спорные эстетические вкусы («не тот ракурс») не отклоняем — иначе авторы бегут. Минимально: видно, что продают. Для недвижимости просим хотя бы 3 кадра; для услуг — фото результата или рабочего места, не сток из первой выдачи картинок.
Диск, CDN, перенос
Через полгода upload/ становится самым тяжёлым куском бэкапа. Политика:
- Оригинал сжать по длинной стороне (например, 1920px), если 4K не нужны.
- Превью держать отдельно и не отдавать в ленту оригинал.
- Удаление объявления — чистить файлы или помечать сиротами и гонять garbage cron.
- При переносе домена проверить, что в БД нет абсолютных URL на старый хост.
CDN подключаю, когда основной сервер начинает отдавать картинки медленно с мобильного LTE. До этого хватает нормальных thumb и кэша браузера. Если CDN есть — при смене обложки обязательно новый filename или query-version, иначе неделя кэша старого дивана на главной.
И последнее: лимит «обязательно фото» на подаче для ключевых рубрик. Текстовые лоты без кадра можно оставить для «работы» и «услуг», если так решили — но для товаров и авто я включаю обязательность. Иначе фильтр «с фото» станет единственным способом пользоваться сайтом, а без фильтра лента выглядит как форум объявлений из прошлого десятилетия.
Ошибки, которые видит пользователь
Пишите внятно: «файл больше 8 МБ», «нужен jpeg или png», «не удалось сохранить, попробуйте ещё раз». Абстрактное «ошибка загрузки» плодит повторные тикеты. На медленном интернете показывайте прогресс; если оборвался запрос — не считайте объявление поданным без фото, когда рубрика требует кадры. Автор должен иметь возможность догрузить из кабинета, не подавая лот заново с нуля.
Фото в объявлениях PHP-скрипта — половина продукта классифайда. Закройте права, лимиты, превью, мобильный HEIC/jpeg и модерационные шаблоны. После этого VIP, фильтры и реклама начинают иметь смысл: в ленте есть на что смотреть, а не только строки текста и пустые квадраты-заглушки.
Порядок кадров и обложка
Первый кадр в ленте решает, откроют карточку или нет. Дайте автору явно выбрать обложку, не только «как загрузил». В VIP-блоке обложка критична вдвойне: мыльная картинка в рамке выглядит хуже обычного превью. На модерации смотрите обложку в первую очередь — иногда достаточно попросить поставить нормальный кадр первым, без полного отклонения.
Автоповорот по EXIF включите, если скрипт умеет: телефонные фото иначе лежат боком и выглядят как брак. Фото в объявлениях PHP-скрипта — это продуктовая гигиена классифайда. Лимиты, превью, права, понятные ошибки и обязательность кадра в товарных рубриках. Закройте это — и остальные фичи начинают работать на доверие, а не маскировать пустые квадраты.
Частые вопросы
Фото в объявлениях скрипт php?
Без нормальной загрузки фото доска выглядит пустой — проверьте upload и права.
Сколько времени занимает «Фото в объявлениях PHP-скрипта»?
Ориентир по тексту мануала — около 6 мин. На практике зависит от хостинга и подготовки базы.
Нужен ли отдельный сервер?
Для большинства скриптов достаточно хостинга или VDS с PHP и MySQL. Подбор сервера — в разделе VDS и требованиях к PHP/MySQL.
Скрипт доски объявлений php?
Разбор рядом в мануале по этому запросу. скрипт доски объявлений php
Купить скрипт классифайда под ключ?
Разбор рядом в мануале по этому запросу. купить скрипт классифайда под ключ