X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите с условием в php файле
kovalenko3331
kovalenko3331
Topic Starter сообщение 2.6.2012, 14:16; Ответить: kovalenko3331
Сообщение #1


Здравствуйте, я только начинаю потихоньку познавать азы php. и пока что делаю все так сказать методом тыка и подбора и в большинстве случаев что то да получается но тут видимо такой вариант не пройдет и нужны знания. Вообщем суть вопроса:
вот кусок кода:
  function build_vidvk($url) {
     $decode_url = $url;
        $get = explode( "?", $url );
        $get = strtolower( end( $get ) );
  $url = '/engine/video.php?'.$get;
  global $config;
  if (!count($this->video_config)) {
   include (ENGINE_DIR . '/data/videoconfig.php');
   $this->video_config = $video_config;
  }
  $get_size = array();
  $sizes = array();
  $get_size = explode( ",", trim( $url ) );
  if (count($get_size) > 1 AND ( stripos ( $get_size[0], "http" ) === false OR stripos ( $get_size[0], "rtmp:" ) === false ) )  {
   $sizes = explode( "x", trim( $get_size[0] ) );
   $width = $this->video_config['width'];
   $height = $this->video_config['height'];

  } else {
   $width = $this->video_config['width'];
   $height = $this->video_config['height'];
  }

  if (count($get_size) == 3)  $url = $get_size[1].",".$get_size[2];
  elseif (count($get_size) == 2 AND count($sizes) == 2) $url = $get_size[1];
  
  $thumb = $thumb['1'];
  
        $url = $config['http_home_url'].'engine/video.php?var='.base64_encode($get);
          
  if ( count($sizes) == 2 ) $decode_url = $width."x".$height.",".$decode_url;
$video_url = $url;
$url = array ();
$url = implode( ", ", $url );
$id_player = md5( microtime() );
return "<!--dle_vidvk_begin:{$decode_url}-->
<object id=\"videoplayer-{$id_player}\" type=\"application/x-shockwave-flash\"
data=\"" . $config['http_home_url'] . "engine/classes/flashplayer/uppod.swf\" width=".$width." height=".$height.">
<param name=\"allowFullScreen\" value=\"true\" />
<param name=\"allowScriptAccess\" value=\"always\" />
<param name=\"wmode\" value=\"transparent\" />
<param name=\"movie\" value=\"" . $config['http_home_url'] . "engine/classes/flashplayer/uppod.swf\" />
<param name=\"flashvars\" value=\"comment="."&amp;st=" . $config['http_home_url'] . "engine/classes/flashplayer/skin.txt&amp;file={$video_url}\" />
</object><!--dle_vidvk_end-->";
  
}
он передает закодированное видео через ретранслятор в плеер uppod, в новость ставлю вот таким образом [vidvk=ссылка на видео] и все работает.

но когда делаю через плейлист, вот код:
  function build_vidvk($url) {
        $decode_playlist=$url;
        $get = explode( "?", $url );
        $get = strtolower( end( $get ) );
  $url = '/engine/video.php?'.$get;
  global $config;
  if (!count($this->video_config)) {
   include (ENGINE_DIR . '/data/videoconfig.php');
   $this->video_config = $video_config;
  }
  $get_size = array();
  $sizes = array();
  $get_size = explode( ",", trim( $url ) );
  if (count($get_size) > 1 AND ( stripos ( $get_size[0], "http" ) === false OR stripos ( $get_size[0], "rtmp:" ) === false ) )  {
   $sizes = explode( "x", trim( $get_size[0] ) );
   $width = $this->video_config['width'];
   $height = $this->video_config['height'];

  } else {
   $width = $this->video_config['width'];
   $height = $this->video_config['height'];
  }

  if (count($get_size) == 3)  $url = $get_size[1].",".$get_size[2];
  elseif (count($get_size) == 2 AND count($sizes) == 2) $url = $get_size[1];
  
  $thumb = $thumb['1'];
  
        $url = $config['http_home_url'].'engine/video.php?var='.base64_encode($get);
          
  if ( count($sizes) == 2 ) $decode_url = $width."x".$height.",".$decode_url;
      
        $playlist = explode("||", $url);
        foreach ($playlist as $value){
        $playl=explode("|", $value);
        $playlisting[]="{'file':'".$playl[0]."','comment':'".$playl[1]."'}";
        }
        $playlisting = implode(",", $playlisting);
        $playlisting = "{'playlist':[".$playlisting."]}";

$url = array ();
$url = implode( ", ", $url );
$id_player = md5( microtime() );
return "<!--dle_vidvk_begin:{$decode_playlist}-->
<object id="videoplayer-{$id_player}" type="application/x-shockwave-flash"
data="" . $config['http_home_url'] . "engine/classes/flashplayer/uppod.swf" width=".$width." height=".$height.">
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="wmode" value="transparent" />
<param name="movie" value="" . $config['http_home_url'] . "engine/classes/flashplayer/uppod.swf" />
<param name="flashvars" value="comment="."&amp;st=" . $config['http_home_url'] . "engine/classes/flashplayer/skin.txt&amp;pl=".$playlisting."" />
</object><!--dle_vidvk_end-->";
и вставляю в новость вот так [vidvk=ссылка на видео|Видео №1||ссылка на видео|Видео №2] то в результате получается что воспроизводит только второй файл, и в исходном коде плеера вижу что
<!--dle_vidvk_begin:ссылка на видео|Видео №1||ссылка на видео|Видео №2-->
<object id="videoplayer-3bf430bbdcaa5b4d04de00bf5198a413" type="application/x-shockwave-flash"
data="http://www.sait.ru/engine/classes/flashplayer/uppod.swf" width=720 height=410>
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="wmode" value="transparent" />
<param name="movie" value="http://www.sait.ru/engine/classes/flashplayer/uppod.swf" />
<param name="flashvars" value="comment=&amp;st=http://www.sait.ru/engine/classes/flashplayer/skin.txt&amp;pl={'playlist':[{'file':'http://www.sait.ru/engine/video.php?var=b2lkPTE2OTU3Nzc0NyZpZD0xNjMwODg4MTkmaGFzaD1lNjBhY2NlYmY1Yzc3MjA1JmhkPTF8wsjE
xc4guTE=','comment':''}]}" />
</object><!--dle_vidvk_end-->
как бы весь плейлист воспринимается как одна ссылка. Перебрал куча вариантов но все безрезультатно.
Уважаемые знатоки php языка программирования, подскажите пожалуйста как указать условие чтобы плейлист обрабатывался верно? Как на приведенном ниже примере, только видео там запускается напрямую без ретранслятора, и все воспроизводится нормально
function build_video($url) {
  global $config;
  if (!count($this->video_config)) {
   include (ENGINE_DIR . '/data/videoconfig.php');
   $this->video_config = $video_config;
  }
  $get_size = array();
  $sizes = array();
  $get_size = explode( ",", trim( $url ) );
  if (count($get_size) > 1 AND ( stripos ( $get_size[0], "http" ) === false OR stripos ( $get_size[0], "rtmp:" ) === false ) )  {
   $sizes = explode( "x", trim( $get_size[0] ) );
   if (count($sizes) == 2) {
    $width = intval($sizes[0]) > 0 ? intval($sizes[0]) : $this->video_config['width'];
    $height = intval($sizes[1]) > 0 ? intval($sizes[1]) : $this->video_config['height'];
    if (substr ( $sizes[0], - 1, 1 ) == '%') $width = $width."%";
    if (substr ( $sizes[1], - 1, 1 ) == '%') $height = $height."%";
   } else {
    $width = $this->video_config['width'];
    $height = $this->video_config['height'];

   }
  } else {
   $width = $this->video_config['width'];
   $height = $this->video_config['height'];
  }

        $decode_playlist=$url;
$playlist = explode("||", $url);
foreach ($playlist as $value){
  $playl=explode("|", $value);
  $playlisting[]="{'file':'".$playl[0]."','comment':'".$playl[1]."'}";
}
$playlisting = implode(",", $playlisting);
$playlisting = "{'playlist':[".$playlisting."]}";
  if (count($get_size) == 3)  $url = $get_size[1].",".$get_size[2];
  elseif (count($get_size) == 2 AND count($sizes) == 2) $url = $get_size[1];
  $option = explode( "|", trim( $url ) );

  $url = $this->clear_url( $option[0] );
  $type = explode( ".", $url );
  $type = strtolower( end( $type ) );

  if( preg_match( "/[?&;<\[\]]/", $url ) ) {
  
   return "[video=" . $url . "]";

  }

  if( $option[1] != "" ) {
  
   $option[1] = htmlspecialchars( strip_tags( stripslashes( $option[1] ) ), ENT_QUOTES );
   $decode_url = $url . "|" . $option[1];

  } else
   $decode_url = $url;

  if ( count($sizes) == 2 ) $decode_url = $width."x".$height.",".$decode_url;
  if ( stripos ( $url, "rtmp:" ) === false ) $detect_rtmp = false; else $detect_rtmp = true;

  if( $type == "flv" or $type == "mp4" or $type == "m4v" or $type == "m4a" or $type == "mov" or $type == "3gp" or $type == "f4v" or $detect_rtmp) {
  
   $url = array ();
$url = implode( ", ", $url );
$id_player = md5( microtime() );
return "<!--dle_video_begin:{$decode_playlist}-->
<object id=\"videoplayer-{$id_player}\" type=\"application/x-shockwave-flash\"
data=\"" . $config['http_home_url'] . "engine/classes/flashplayer/uppod.swf\" width=".$width." height=".$height.">
<param name=\"allowFullScreen\" value=\"true\" />
<param name=\"allowScriptAccess\" value=\"always\" />
<param name=\"wmode\" value=\"transparent\" />
<param name=\"movie\" value=\"" . $config['http_home_url'] . "engine/classes/flashplayer/uppod.swf\" />
<param name=\"flashvars\" value=\"comment="."&amp;st=" . $config['http_home_url'] . "engine/classes/flashplayer/skin.txt&amp;pl=".$playlisting."\" />
</object><!--dle_video_end-->";
и вставляю в новость [video=ссылка на видео|Видео №1||ссылка на видео|Видео №2] видео нрмально воспроизводится плейлистом и выглядит исходный код так
<!--dle_video_begin:ссылка на видео|Видео №1||ссылка на видео|Видео №2-->
<object id="videoplayer-3bf430bbdcaa5b4d04de00bf5198a413" type="application/x-shockwave-flash"
data="http://www.sait.ru/engine/classes/flashplayer/uppod.swf" width=720 height=410>
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="wmode" value="transparent" />
<param name="movie" value="http://www.sait.ru/engine/classes/flashplayer/uppod.swf" />
<param name="flashvars" value="comment=&amp;st=http://www.sait.ru/engine/classes/flashplayer/skin.txt&amp;pl={'playlist':[{'file':'ссылка на видео','comment':'Видео №1'},{'file':'ссылка на видео','comment':'Видео №1'}]}" />
</object><!--dle_video_end-->


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 725 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3400 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1242 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44907 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Есть спецы по php/laravel?
3 Mixatraider 1889 26.5.2023, 20:48
автор: Mixatraider


 



RSS Текстовая версия Сейчас: 19.4.2024, 23:36
Дизайн