完美解决光线CMS支持快播播放器\土豆资源的方法

王朝互联网·作者佚名  2013-06-27
窄屏简体版  字體:   |    |    |  超大  

小弟最近想做一个电影网站玩玩,所以研究了一下影视开源程序,在网上找了几个比较好的开源程序:马克斯影视系统MAXCMS、飞飞影视系统PPVOD、光线影视管理系统GXCMS、天空网络电影系统SKYUC等,这几个也是站长下载频道推荐的几款。这几个我都先后进行了测试,不过我喜欢php+mysql,所以就没有选择asp的MAXCMS,又因为模板问题最后选择了使用光线。

通过各项测试,光线cms基本上没有什么大的问题,不过等到我准备大干一场的时候却发现光线cms只支持百度影音的资源,对于快播资源,土豆等资源不支持,让我很郁闷,因为小弟在平时看电影的时候喜欢用快播,而且百度最近搞了个百度影音浏览器和播放器绑定,用着实在很不爽啊!该怎么办呢?去官网,没找到答案,官方不愿意支持其他播放器那也实在没办法;去网上搜索,才发现很多使用光线cms的同志们都遇到了这个问题,可是没有真正的解决办法,最后发现张晓军这个牛人的博客有解决方法!哈哈,心花怒放啊!

按照步骤修改代码、上传、测试,却又发现了一个大问题:涉及到快播资源地址格式问题!!!

如果单独添加的播放地址qvod前面没有其他参数的格式,比如:qvod://423858029GOKKSHOPGH,这种地址快播可以正常播放,查看播放页面的播放地址为qvod://423858029;

但是如果添加的地址前面有XXX$参数的格式,比如:BD高清版$qvod://423858KKSHOP154531212313029,这种地址在快播就放不了,查看播放页面的获取的地址为$qvod://423858KKSHOP154531212313029,这种格式快播无法识别;

该怎解决呢?然后我对代码进行了修改,将获取到的地址前面的$过滤掉,OK解决了!

找到 core /Lib/Action/CmsAction.class.php原代码,替换为新的代码,105行到119 行(我的是1.5版本的)。

#FormatImgID_0#

原来的代码:

if($playarr){

$videoid = $playarr[0];

$videoji = $playarr[1]-1;

$player =' < script language="javascript" type="text/javascript" src="'.C('web_path').'temp/Js/player.js" > < /script>'."n";

if (C('user_pay') && in_array($array['cid'],C('user_paycid'))){

$player .='< div id="GxInstall" > < /div > < div id="GxPlayer" class="Userpay" > < /div >';

}else{

$player .=' < div id="GxInstall" > < /div > < div id="GxPlayer" class="Loading" > < /div > ';

$player .=' < script language="javascript" type="text/javascript" > '."n";

$player .='var $playlist="'.str_replace(array("rn", "n", "r"),'+++',$array['playurl']).'"'."n";

$player .=' < /script>'."n";

$player .=' < script language="javascript" src="'.C('web_path').'views/js/player.js" charset="utf-8" > < /script > ';

}

修改后的代码:

if($playarr){

$videoid = $playarr[0];

$videoji = $playarr[1]-1;

$player=explode('+++',str_replace(array("rn", "n", "r"),'+++',$array['playurl']));

$player=substr($player[$videoji],stripos($player[$videoji],'$'));// 获得当前页 视频地址

$player=str_replace("$","",$player);//过滤快播前面的$

if(C('user_pay') && in_array($array['cid'],C('user_paycid'))){

$player =' < script language="javascript" type="text/javascript" src="'.C('web_path').'temp/Js/player.js" > < /script>'."n";

$player .=' < div id="GxInstall" > < /div > < div id="GxPlayer" class="Userpay" > < /div > ';

}else{

if(stripos($player, 'bdhd://')!==false){ // 如果是百度影音

$player =' < script language="javascript" type="text/javascript" src="'. C('web_path').'temp/Js/player.js" > < /script> '."n";

$player .=' < div id="GxInstall" >

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航