全球主机交流论坛

标题: PHP大神帮我看下这句代码怎么写才能支持多个 [打印本页]

作者: 每次醒来    时间: 2014-1-8 19:13
标题: PHP大神帮我看下这句代码怎么写才能支持多个
本帖最后由 每次醒来 于 2014-1-8 22:10 编辑

下面一句代码中默认只支持添加一个ftp , 我现在想多加一个http ,qvod程序就认不到 请问要怎么写才能认到多个呢

  1. $array['playlist_dizhi'] = $this->playlist_bfq('ftp://','http://',qvod,$array['playurl'],$array['id'],$array['cid']);
复制代码

相关代码
  1.         public function playlist_bfq($bfqstr,$vodurl,$id,$cid){
  2.                 if(!$vodurl){
  3.                         return array();
  4.                 }
  5.             $playlist = explode(chr(13),str_replace(array("\r\n", "\n", "\r", "$$"),chr(13),$vodurl));
  6.                 $jishu=1;
  7.                 foreach($playlist as $key=>$val){       
  8.                         if(stripos($val, $bfqstr)!==false){
  9.                                 if (strpos($val,') > 0) {
  10.                                         $ji = explode(',$val);
  11.                                         $list['playname'] = trim($ji[0]);
  12.                                         $list['playpath'] = trim($ji[1]);
  13.                                 }else{
  14.                                         $list['playname'] = '第'.$jishu++.'集';
  15.                                         $list['playpath'] = trim($val);
  16.                                 }
  17.                                 $list['playurl']   = get_play_url($id,$cid,$key+1);
  18.                                 $list['playcount'] = count($playlist);
  19.                                 $urllist[]         = $list;
  20.                         }
  21.                 }
  22.             return $urllist;
  23.         }
复制代码

作者: cgs3238    时间: 2014-1-8 19:13
本帖最后由 cgs3238 于 2014-1-8 22:18 编辑

try this:
  1. $array['playlist_dizhi'] = array_merge($this->playlist_bfq('ftp://',$array['playurl'],$array['id'],$array['cid']),  $this->playlist_bfq('http://',$array['playurl'],$array['id'],$array['cid']),  $this->playlist_bfq('qvod://',$array['playurl'],$array['id'],$array['cid']));
复制代码

作者: 暮雨秋晨    时间: 2014-1-8 20:32
楼主,你这么吊,你家人知道吗?!
作者: 每次醒来    时间: 2014-1-8 21:52
暮雨秋晨 发表于 2014-1-8 20:32
楼主,你这么吊,你家人知道吗?!

你这么吊,帮我写个!
作者: orvice    时间: 2014-1-8 21:59
定义数组的时候

多定义一个,,
作者: 每次醒来    时间: 2014-1-8 22:01
orvice 发表于 2014-1-8 21:59
定义数组的时候

多定义一个,,

大神 怎么写 = = 求写
作者: 醉卧网络君莫笑    时间: 2014-1-8 22:01
我是菜鸟,我只知道这样就对应不上了:
'ftp://','http://',qvod,$array['playurl'],$array['id'],$array['cid'] 6个数组
$bfqstr,$vodurl,$id,$cid 4个
作者: orvice    时间: 2014-1-8 22:02
每次醒来 发表于 2014-1-8 22:01
大神 怎么写 = = 求写

不会- -
作者: 每次醒来    时间: 2014-1-8 22:11
orvice 发表于 2014-1-8 22:02
不会- -

大婶看你骨骼惊奇不像是不会的人啊
作者: scand    时间: 2014-1-8 22:17
你函数就4个参数  你给6个怎么行啊
作者: 每次醒来    时间: 2014-1-8 23:29
本帖最后由 每次醒来 于 2014-1-8 23:34 编辑
cgs3238 发表于 2014-1-8 19:13
try this:


大神你这样写怎么结果是 地址必须有3种格式才显示,如果地址中只有 qvod 和 ftp 甚至只有一个qvod的话就认不到了 = =
怎么让他只有一个也可以 只有2个也可以 就是含有下面3种格式的任何一种都是输出而不是必须有这3种才输出..

qvod://
ftp://
http://
作者: 暮雨秋晨    时间: 2014-1-8 23:57
每次醒来 发表于 2014-1-8 21:52
你这么吊,帮我写个!

早点不发后面的代码、现在估计大神已经给你解决了·~我就不插一脚了~~~~
作者: 每次醒来    时间: 2014-1-9 00:17
暮雨秋晨 发表于 2014-1-8 23:57
早点不发后面的代码、现在估计大神已经给你解决了·~我就不插一脚了~~~~

大神求插..http://d.168530.xyz/forum.php ... 116&pid=3175131 还没解决呢 = =
作者: cgs3238    时间: 2014-1-9 05:31
本帖最后由 cgs3238 于 2014-1-9 10:05 编辑

再改下后面那个函数 在
  1. $playlist = explode(chr(13),str_replace(array("\r\n", "\n", "\r", "$$"),chr(13),$vodurl));
复制代码

上面加一行:
  1. $urllist = array();
复制代码

作者: 每次醒来    时间: 2014-1-9 13:02
本帖最后由 每次醒来 于 2014-1-9 20:55 编辑

[quote]cgs3238 发表于 2014-1-9 05:31

大神 = = 麻烦 麻烦 麻烦再帮我看下

问题是解决了可以输出 ,但是 好像输出的顺序 会按照设置的显示悲剧啊!
假设我代码中设置的顺序是 qvod > ftp > http 那么输出就变成会依照这个顺序显示了
= = 怎么让它不依照顺序



第一集$qvod://
第二集$qvod://
第四集$ftp://
第三集$http://
作者: cgs3238    时间: 2014-1-9 13:10
每次醒来 发表于 2014-1-9 13:02
[quote]cgs3238 发表于 2014-1-9 05:31
谢谢大神,完美解决!

谢谢 你让我一下子升高级会员了
作者: 暮雨秋晨    时间: 2014-1-9 16:01
每次醒来 发表于 2014-1-9 00:17
大神求插..http://d.168530.xyz/forum.php?mod=redirect&goto=findpost&ptid=229116&pid=3175131 还没 ...

楼下不是给你解决了么
作者: cgs3238    时间: 2014-1-9 22:55
每次醒来 发表于 2014-1-9 13:02
[quote]cgs3238 发表于 2014-1-9 05:31

大神 = = 麻烦 麻烦 麻烦再帮我看下

上面和下面全部换掉:


  1. $array['playlist_dizhi'] = $this->playlist_bfq(array('ftp://','http://','qvod://'),$array['playurl'],$array['id'],$array['cid']);
复制代码


  1.         public function playlist_bfq($bfqstr,$vodurl,$id,$cid){
  2.                 if(!$vodurl){
  3.                         return array();
  4.                 }
  5.             $urllist = array();
  6.             $playlist = explode(chr(13),str_replace(array("\r\n", "\n", "\r", "$"),chr(13),$vodurl));
  7.                 $jishu=1;
  8.                 foreach($playlist as $key=>$val){
  9.                         $vyes = false;
  10.                         if(is_array($bfqstr)){
  11.                              foreach($bfqstr as $bfqstrr){
  12.                                  if(stripos($val, $bfqstrr) !== false){
  13.                                     $vyes = true;
  14.                                     break;
  15.                                  }
  16.                              }
  17.                         } else {
  18.                             $vyes = stripos($val, $bfqstr)!==false;
  19.                         }
  20.                         if($vyes){
  21.                                 if (strpos($val,') > 0) {
  22.                                         $ji = explode(',$val);
  23.                                         $list['playname'] = trim($ji[0]);
  24.                                         $list['playpath'] = trim($ji[1]);
  25.                                 }else{
  26.                                         $list['playname'] = '第'.$jishu++.'集';
  27.                                         $list['playpath'] = trim($val);
  28.                                 }
  29.                                 $list['playurl']   = get_play_url($id,$cid,$key+1);
  30.                                 $list['playcount'] = count($playlist);
  31.                                 $urllist[]         = $list;
  32.                         }
  33.                 }
  34.             return $urllist;
  35.         }
复制代码

作者: 每次醒来    时间: 2014-1-9 23:41
本帖最后由 每次醒来 于 2014-1-10 00:13 编辑
cgs3238 发表于 2014-1-9 22:55
上面和下面全部换掉:


替换了 后台都进不去了 = =

是不是因为这一段的关系.......

下面那一段的上面有一段这样的代码

       
       
       
       
        //分解播放地址链接
        public function playlist($vodurl,$id,$cid){
                if(!$vodurl){
                        return array();
                }
            $playlist = explode(chr(13),str_replace(array("\r\n", "\n", "\r"),chr(13),$vodurl));
                $count = count($playlist);
                foreach($playlist as $key=>$val){
                    if (strpos($val,'$') > 0) {
                        $ji = explode('$',$val);
                            $list['playname'] = trim($ji[0]);
                            $list['playpath'] = trim($ji[1]);
                        }else{
                            $list['playname'] = '第'.get_play_name($key+1,$count).'集';
                            $list['playpath'] = trim($val);
                        }
                        $list['playurl']   = get_play_url($id,$cid,$key+1);
                        $list['playcount'] = count($playlist);
                    $urllist[]         = $list;
                }
            return $urllist;
        }


貌似说不清.传了文件
作者: cgs3238    时间: 2014-1-10 06:40
本帖最后由 cgs3238 于 2014-1-10 07:38 编辑


额 白天我看看

look:

(, 下载次数: 85)





欢迎光临 全球主机交流论坛 (https://d.168530.xyz/) Powered by Discuz! X3.4