У вас в вопросе все смешано, и загрузка и отправка. На самом деле это 2 абсолютно разные задачи. Сначала файлы загружаются на сервер, затем создается письмо и нужные файлы к нему прикрепляются в виде вложений. Обе задачи легко гуглятся по отдельности.
Максим Ленский, да хз, просто набрал в гугле ffmpeg frame capture, ясно же что режутся кадры видео а затем уже либо показываются по порядку(кажется так в ютубе) либо в минивидео клеятся(кажется так в vk работает)
Максим Ленский, хм, в любом линухе есть установщик пакетов, что то типа sudo apt-get install ffmpeg.
в винде тоже можно установить чисто для "пощупать" на локалке. В любом случае на шареде такое не проканает, в том числе из-за ограничений по вычислительной мощности, тк видеообработка сжирает нехило проца. Нужен хотя бы впс.
Максим Ленский, хм, а чем не подошло? Или есть какие-то особые причины не использовать открытое ПО специально предназначенное для работы с видео? или под проще предполагается волшебный очкарик выбирающий красивые кадры?
Размыто как то... Если хранится все в файле, то есть несколько вариантов:
1) при отправке, после записи в файл открыть его на чтение и пересчитать соответствующие вхождения.
2) хранить эти данные в отдельном файле как переменные, соответственно читать после записи в файл данных, менять переменные, выводить пользователю и записывать обратно.
3) Хранить эти данные вместе со всеми остальными записываемыми данными, все остальное как в варианте 2.
каждый имеет плюсы и минусы, выбирать надо исходя из структуры приложения.
Максим Ленский, картинка создается автоматом
а) в браузере, в автоматическом режиме исходя из первого кадра видеофайла;
б) в случае если указан атрибут poster, используемый браузером как "заставка" видео;
в первом случае ничего делать не нужно, во втором необходимо эту картинку где-то взять, судя по гифке ТС, картинка прописана руками, так как содержимое видео "немного" не совпадает с обложкой. Что, в прочем, не мешает создать ее программно.
Nikolay Petyukh, хм, и как поведение статических/нестатических КЛАССОВ связано с переходом языка на ООП? Скорее с развитием внутреннего строения модели объекта и сохранением обратной совместимости (с 4 на > 5.х).
Андрей, это вызывает варнинг, но не нарушает выполнение. Кроме того, ТС сначала написал что у него вызывает ошибку создание экземпляра класса(что оказалось не так). А в целом статика вполне себе нормальный метод работы, только, естественно, надо объявить статическим методы класса, и, конечно же, только там где это необходимо.
2) Не вижу где вы указываете неймспейс для $controllerName;