Manuals
RU EN

Продукты · 67

Фото в объявлениях PHP-скрипта

Продукты 6 мин чтения

Фото в объявлениях скрипта PHP — это галерея карточки: оригинал, превью для ленты, порядок кадров, иногда водяной знак. Без загрузки с телефона доска выглядит пустой, даже если тексты хорошие. На приёмке я первым делом кидаю jpeg с камеры Android — не картинку 80 КБ из демо.

Права на каталоги — chmod. VIP с битыми превью бесполезен — VIP.

Что должно уметь хранилище

  • Принимать jpeg/png/webp в разумных лимитах (часто 5–10 МБ на файл).
  • Резать превью для списка и для карточки (разные размеры).
  • Сохранять порядок: первое фото = обложка в ленте.
  • Удалять кадр без поломки всей галереи.
  • Не принимать php/phtml под видом картинки.

Ориентир по числу: 8–12 фото на объявление для товаров, для авто/недвижимости иногда больше. Безлимит «50 кадров» убивает диск и терпение модератора.

Серверные настройки, из-за которых «кнопка не работает»

Симптомы: крутилка и тишина, или 413, или пустой ответ. Смотрю:

  1. upload_max_filesize и post_max_size в PHP — второе должно быть больше суммы файлов.
  2. Лимит nginx client_max_body_size, если стоит прокси.
  3. Права на upload/ или storage/ — www-data должен писать.
  4. Место на диске — банально, но бывает.
  5. GD/Imagick — без них превью не соберутся, останутся огромные оригиналы в ленте.
Мобильный HEIC. iPhone иногда отдаёт HEIC. Либо учите конвертацию, либо пишите понятную ошибку «сохраните как jpeg». Молчаливый fail на iOS = минус половина авторов.

Поток в мастере подачи

  1. Выбор файлов / камера.
  2. Превью на клиенте (если есть) + прогресс.
  3. Ответ сервера с id файла.
  4. Сортировка drag-and-drop до отправки формы.
  5. После сохранения объявления — те же файлы в карточке и в очереди модерации.

Модератору нужны превью в очереди без открытия каждого оригинала на 5 МБ. Иначе очередь встаёт.

Водяной знак и чужие фото

Водяной знак логотипом площадки снижает простое воровство, но портит вид, если непрозрачность высокая. Ставьте уголком, не по центру на весь кадр. Чужие фото с водяными знаками маркетплейсов модератор должен отклонять шаблоном — это частый спам при старте «аналога Авито» (контекст).

Производительность ленты

В списке отдавайте маленькие превью, не оригиналы. Ленивая загрузка картинок ниже первого экрана помогает на мобиле. Webp как производный формат — плюс, но jpeg-фолбэк оставляйте. Битые пути после переноса домена чинятся скриптом замены URL или симлинком — не руками по одной карточке.

  • Главная и рубрика: только thumb.
  • Карточка: средний размер + lightbox оригинал/крупный.
  • Sitemap картинок — по желанию, когда контента много.

Типичные косяки на проде

  • Загрузка работает у админа в панели, но не у автора во фронте — разные обработчики.
  • После редактирования объявления старые файлы висят вечными сиротами на диске.
  • Обложка не обновляется, потому что кэш CDN держит старый thumb — нужна версия в query или новое имя файла.
  • В VIP-блоке другой шаблон без onerror — пустые дыры.

Запуск доски без проверки фото — board — я не считаю законченным. Площадка — под ключ.

Сделайте загрузку с телефона, превью, порядок кадров и вменяемые лимиты. Тогда модерация и VIP имеют смысл: людям есть на что смотреть в ленте. Текст без фото на классифайде почти никто не открывает.

Модерация фото: быстрые правила

Чтобы очередь не превращалась в художественный совет, пишем модераторам четыре отказа:

  • нет фото предмета / помещения;
  • чужой водяной знак площадки;
  • коллаж с телефонами и «пиши в WhatsApp» поверх кадра;
  • размытое до неузнаваемости — попросить пересъёмку.

Спорные эстетические вкусы («не тот ракурс») не отклоняем — иначе авторы бегут. Минимально: видно, что продают. Для недвижимости просим хотя бы 3 кадра; для услуг — фото результата или рабочего места, не сток из первой выдачи картинок.

Диск, CDN, перенос

Через полгода upload/ становится самым тяжёлым куском бэкапа. Политика:

  1. Оригинал сжать по длинной стороне (например, 1920px), если 4K не нужны.
  2. Превью держать отдельно и не отдавать в ленту оригинал.
  3. Удаление объявления — чистить файлы или помечать сиротами и гонять garbage cron.
  4. При переносе домена проверить, что в БД нет абсолютных 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

Купить скрипт классифайда под ключ?

Разбор рядом в мануале по этому запросу. купить скрипт классифайда под ключ

Раздел
Скрипт доски объявлений

Запуск и настройка площадки объявлений на своём домене.