Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: YouTube Download
Forum PHP.pl > Forum > PHP
DejaV
Co z tym jest nie tak, jak wciskam button Download wyskakuje bląd
  1. <?php
  2.  
  3. if (isset($_GET{'url'})){
  4.    $url=$_GET{'url'};
  5.    $url=trim($url);
  6.  
  7.    if (strstr($_GET['url'],"youtube.com")){
  8.        $data = @file_get_contents($_GET['url']);
  9.        @preg_match('#/watch_fullscreen?video_id=([a-z0-9-_]+)&l=([0-9]+)&t=([a-z0-9-_]+)#i', $data, $matches);
  10.        if (ereg($matches[1], $_GET['url'])) {
  11.            Header("Location: <a href=\"http://www.youtube.com/get_video?video_id=$matches\" target=\"_blank\">http://www.youtube.com/get_video?video_id=$matches</a>[1]&l=$matches[2]&t=$matches[3]");
  12.        }
  13.    }
  14.        
  15.    if (strstr($_GET['url'],"video.google.com")){
  16.        $file=@file($url);
  17.        $count=count($file);
  18.  
  19.        $main="";
  20.        for ($i=0;$i<$count;$i++){
  21.            $main=$main.$file[$i];
  22.        }
  23.  
  24.  
  25.        $parse=explode("http://vp.video.google.com",$main);
  26.        $parse1=explode('"',$parse[1]);
  27.        $google="http://vp.video.google.com".$parse1[0];
  28.        $google=str_replace('&','&',$google);
  29.  
  30. //echo <<<D
  31. //<META HTTP-EQUIV="REFRESH" CONTENT="0; URL=$google">
  32. //D;
  33. Header("Location:$google");
  34.  
  35.    }
  36.    
  37.  
  38.    if (strstr($_GET['url'],"ifilm.com")){
  39.        $file=@file($url);
  40.        $count=count($file);
  41.    
  42.        $flag=0;
  43.        for ($i=0;$i<$count;$i++){
  44.            if (strstr($file[$i],"so.addVariable") and strstr($file[$i],"getStream")){
  45.                    $main=$file[$i]; $flag=1; break;
  46.            }
  47.        }
  48.  
  49.    if ($flag==1){
  50.        $parse=explode("http://",$main);
  51.        $parse1=explode("?e=",$parse[1]);
  52.  
  53.        $ifilm="http://".$parse1[0]."?e=";
  54.        Header("Location:$ifilm");
  55.        }
  56.        if ($flag==0){
  57.            Header("Location: <a href=\"http://ifilm-840.vo.llnwd.net/o/contentstore/getStream/2826840_300.flv?e=");&#092;" target=\"_blank\">http://ifilm-840.vo.llnwd.net/o/contentsto....flv?e=");</a>
  58.        }
  59.    }
  60.  
  61.    if (strstr($_GET['url'],"myspace.com")){
  62.        //$id=$_GET['videoid'];
  63.  
  64.        $parse0=explode("videoid=",$url);
  65.        $id=$parse0[1];
  66.  
  67.        $urlthis=$url.'&videoid='.$id;
  68.  
  69.        $file=@file($urlthis);
  70.        $count=count($file);
  71.  
  72.        for ($i=0;$i<$count;$i++){
  73.            if (strstr($file[$i],$id."_thumb1.jpg")){
  74.                $main=$file[$i]; break;
  75.            }
  76.        }
  77.  
  78.        $parse=explode("_thumb1.jpg",$main);
  79.        $parse1=explode(".net/",$parse[0]);
  80.        $parse2=explode("/",$parse1[1]);
  81.  
  82.        $rest=substr($id,0,5);
  83.  
  84.        $myspace="http://content.movies.myspace.com/00".$rest."/".$parse2[1]."/".$parse2[2]."/".$id.".flv";
  85.        Header("Location:$myspace");
  86.    }
  87.  
  88.    if (strstr($_GET['url'],"bolt.com")){
  89.  
  90.  
  91.        $file=@file($url);
  92.        $count=count($file);
  93.  
  94.        for ($i=0;$i<$count;$i++){
  95.            if (strstr($file[$i],'[IMG]')){
  96.                $main=$file[$i]; break;
  97.            }
  98.        }
  99.  
  100.        
  101.        $parse=explode("[IMG]",$main);
  102.        $parse1=explode('_',$parse[1]);
  103.  
  104.        $bolt=$parse1[0];
  105.        $bolt=str_replace('/image/','/movie/',$bolt);
  106.        $bolt=$bolt.".flv";
  107.  
  108.        
  109.        Header("Location: $bolt");
  110.    
  111.    }
  112.  
  113.    if (strstr($_GET['url'],"dailymotion.com")){
  114.        $file=@file($url);
  115.        $count=count($file);
  116.  
  117.        $flag=0;
  118.        for ($i=0;$i<$count;$i++){
  119.            if (strstr($file[$i],"addVariable") and strstr($file[$i],".flv") and strstr($file[$i],'"url"')){
  120.                $main=$file[$i]; $flag=1; break;
  121.            }
  122.        }
  123.    if ($flag==1){
  124.        $parse=explode("http%3A%2F%2F",$main);
  125.        $parse1=explode('");',$parse[1]);
  126.        $parse1[0]=str_replace("%2F","/",$parse1[0]);
  127.        $parse1[0]=str_replace("%3F","?",$parse1[0]);
  128.        $parse1[0]=str_replace("%3D","=",$parse1[0]);
  129.  
  130.        $dailymotion="http://".$parse1[0];
  131.        Header("Location: $dailymotion");
  132.        }
  133.        if ($flag==0){
  134.            Header("Location: <a href=\"http://www.dailymotion.com/get/14/320x240/flv/2197705.flv?key=467179fa53996b0c93b92c2bba62724612a2e36");&#092;" target=\"_blank\">http://www.dailymotion.com/get/14/320x240/...12a2e36");</a>
  135.        }
  136.    }
  137.  
  138.    if (strstr($_GET['url'],"blip.tv")){
  139.        $file=@file($url);
  140.        $count=count($file);
  141.  
  142.        for ($i=0;$i<$count;$i++){
  143.            if (strstr($file[$i],"setPrimaryMediaUrl")){
  144.                $main=$file[$i]; break;
  145.            }
  146.        }
  147.  
  148.        $parse=explode('setPrimaryMediaUrl("',$main);
  149.        $parse1=explode('?source=',$parse[1]);
  150.  
  151.        $blip=$parse1[0];
  152.        Header("Location: $blip");
  153.    }
  154.  
  155.    if (strstr($_GET['url'],"break.com")){
  156.        $file=@file($url);
  157.        $count=count($file);
  158.  
  159.        $main="";
  160.        for ($i=0;$i<$count;$i++){
  161.            $main=$main.$file[$i];
  162.        }
  163.  
  164.        $parse=explode("sGlobalFileName='",$main);
  165.        $parse1=explode("'",$parse[1]);
  166.  
  167.        $name=$parse1[0];
  168.  
  169.  
  170.        $parse2=explode("sGlobalContentFilePath='",$main);
  171.        $parse3=explode("'",$parse2[1]);
  172.  
  173.        $fp=$parse3[0];
  174.        $break="http://media1.break.com/dnet/media/".$fp."/".$name.".flv";
  175.        Header("Location: $break");
  176.  
  177.    }
  178. }
  179. ?>


Kod
Warning: ereg(): REG_EMPTY: in c:\usr\krasnal\www\grabthevid2007\php\getURL.php on line 10
darko
A co u Ciebie kryje się pod zmienną
  1. $matches
bo nie widzę deklaracji, wygląda na to że używasz niezadeklarowanej tablicy.
Nattfarinn
Cytat(darko @ 9.11.2009, 14:18:44 ) *
A co u Ciebie kryje się pod zmienną
  1. $matches

bo nie widzę deklaracji, wygląda na to że używasz niezadeklarowanej tablicy.

Jest zadeklarowana (pośrednio). Linijkę wcześniej jest przekazana do funkcji jako parametr (referencja).

Problemem jest błędne wyrażenie regularne i/lub link który przekazujesz jako parametr.
darko
1. Jeśli to jest całość kodu, to
  1. $matches

nie jest nigdzie zadeklarowane

2. Rzeczywiście - jak już wspomniał Nattfarinn - sprawdź swoje wyrażenie regularne, poza tym polecam też nie tłumić błędów (usuń te @) to może któraś z funkcji wypluje Ci co jeszcze jest nie tak

3. jak na razie komunikat wskazuje na linię numer 10 i wygląda na to, że $matches[1] nie jest zadeklarowane, spróbuj
  1. print_r($matches);
albo zrób testy
  1. if(is_null($matches)) {die("\$matches jest NULL");} if(empty($matches)) {die "\$matches is empty!";}
Nattfarinn
Darko, zmienna przekazywana jako referencja do funkcji preg_match nie musi być nigdzie deklarowana (jej wartość jest zwotnie nadana przez działanie samej funkcji). W przypadku braku wyników przyjmuje wartość pustej tablicy, co ma miejsce w przypadku złego (chociaż poprawnego semantycznie) wyrażenia lub nieodpowiedniego porównywanego parametru (zły link jako parametr). W 10 linii nastepuje próba użycia elementów pustej tablicy, co skutkuje przekazaniem NULL do funkcji ereg i wyrzuceniem błędu.
darko
Nattfarinn racja $matches nie musi być nigdzie deklarowane.

DejaV sprawdzaj w linii 10 czy pierwszy argument, który przekazujesz do ereg nie jest null

zastanawia mnie jeszcze linia 9, wzorzec raczej powinien zaczynać się i kończyć / oraz /

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.