Загрузка видео на сайт без сторонних модулей и youtube

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 4 декабря 2018 в 15:22
Всем привет
В движке присутствует возможность загрузки файлов на сайт при добавлении поля через типы контента, если разрешить загрузку mp4 то в принципе возможно воспроизведение его через встроенный проигрыватель посредством добавления кода в пост
  1.  
  2. <p>
  3. <video controls="" width="50%">
  4. <source src="http://сайт.ру/files/static/download/7/53fe0a9260ba7f510f851d10dccde940 " type="video/mp4"></video>
  5. </p>
  6.  
  7. или
  8.  
  9. <video src="http://сайт.ру/files/static/download/7/53fe0a9260ba7f510f851d10dccde940" controls></video>
  10.  


Как усовершенствовать это так что бы при загрузке файла mp4 код подставлялся автоматически и выводилась не ссылка на файл а проигрыватель, а при других расширениях все оставалось по старому

Вообщем то это дает возможность загружать ролики при необходимости, без ютуба и установки дополнений если нам просто нужно кинуть видео в блог или новость
#2 4 декабря 2018 в 19:24

Как усовершенствовать это

Kuper
Так.
#3 5 декабря 2018 в 10:12

Так.

DeDja
Ииии
Что то не вижу описания к сделанному
#4 5 декабря 2018 в 10:50
Kuper, просто сделайте копию поля file (не забудьте про шаблон поля из папки assets)
Копию назовите video. Смените в копии системное имя поля.
Поправьте вывод видео в методе parse, чтобы вместо ссылки выводился ролик.
Вуаля.

Это на самом деле звучит только сложно. Вы попробуйте, вам понравится.
#5 5 декабря 2018 в 10:56


Kuper, просто сделайте копию поля file (не забудьте про шаблон поля из папки assets)
Копию назовите video. Смените в копии системное имя поля.
Поправьте вывод видео в методе parse, чтобы вместо ссылки выводился ролик.
Вуаля.

Это на самом деле звучит только сложно. Вы попробуйте, вам понравится.

Zau4man

Согласен наверное все легко и просто когда знаешь php, но это не про меня

return '<video src="'.$this->getDownloadURL($file).'" controls width="50%">'.$name.'</video> '. $size_info. $size_counter;

и почему то видео воспроизводится только с компа с которого закачал его с другого уже нет

class fieldvideo extends cmsFormvideo { — это вызывает ошибку на сервере

public $title = Видео;
public $sql = 'text';

Может все таки проверить расширение файла и выводить проигрыватель при наличии нужного. как это правильно реализовать

if($allowed_extensions == "mp4")как тут по умному это вписать?
{
return '<video src="'.$this->getDownloadURL($file).'" controls width="50%">'.$name.'</video> '. $size_info. $size_counter;
}
else{
return '<a href="'.$this->getDownloadURL($file).'">'.$name.'</a> '. $size_info. $size_counter;
}

Вообщем сделал так

  1. $name = $this->getOption('show_name') ? $file['name'] : LANG_PARSER_FILE_LABEL_GET;
  2.  
  3. function get_file_extension($name) {
  4. return end(explode(".", $name));
  5. }
  6.  
  7.  
  8. if (get_file_extension($name) == mp4){
  9. return '<video src="'.$this->getDownloadURL($file).'" controls width="50%">'.$name.'</video> ' . $size_info . $size_counter;
  10.  
  11. }
  12. else{
  13. return '<a href="'.$this->getDownloadURL($file).'">'.$name.'</a> ' . $size_info . $size_counter;
Осталось понять почему видео не доступно с других компов
#6 6 декабря 2018 в 12:22
В конечном итоге получилось так, взял из $file['path'] путь до файла на диске
  1.  
  2.  
  3.  
  4. function get_file_extension($name) {
  5. return end(explode(".", $name));
  6. }
  7. if (get_file_extension($name) == mp4){
  8. return '<video src="/upload/'.$file['path'].'" controls width="50%">'.$name.'</video> ' . $size_info . $size_counter;
  9.  
  10. }
  11. else{
  12.  
  13. return '<a href="'.$this->getDownloadURL($file).'">'.$name.'</a> ' . $size_info . $size_counter;
  14. }
  15.  
В if наверное можно просто name и выше убрать return но тем не менее работает, приколхозить проигрыватель по модней и будет хорошо
А ещё наверное в строке видео убрать info и counter

#7 7 декабря 2018 в 01:51

Ииии

Kuper
Уууу

Что то не вижу описания к сделанному

Kuper
А кто обещал Вам его представить?
Смотрите на GitHub файлы с расширением *.md.
#8 7 декабря 2018 в 12:03

А кто обещал Вам его представить?

DeDja

Не кто просто смысл от вашего поста?
Я прекрасно понял что вы отлично в этом разбираетесь с таким же успехом могли кинуть мне ссылку на Гугл
Проигрыватель этот видел, читал ну и на картинке видно что проигрыватель уже другой
По честному самым для меня полезным оказалось сообщение от zau4man про parse ТК вообще не в курсе был где и что у движка за что ему спасибо
Я бы не стал вообще спрашивать если бы изучал php ну и в принципе не кто не сказал есть косяки в коде или нет хотя они были а может и есть
Попробую ещё поковырятся
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.