2013-11-15 33 views
0

任何原因,我得到這個錯誤PHP公告:未定義指數:網址

PHP Notice: Undefined index: url on line 40 

從我的代碼的代碼是用來抓住從一個網站鏈接,電影,但我試圖抓住的聯繫我得到那個錯誤,所以有人可以指導我解決問題的正確方向。

public function getMovieEmbeds($title) { 
    $misc = new Misc(); 
    //Step1 find key 
    $movie_url = null; 
    $html = file_get_html('http://www.primewire.ag/'); 
    $elements = $html->find('input[name=key]',0); 
    $key = null; 
    if(!is_null($elements)){ 
     $key = $elements->value; 
    } 
    if(is_null($key)){ 
     return array(); 
    } 

    //Step2 do search... 
    $search = urlencode($title);     
    $html = file_get_html("http://www.primewire.ag/index.php?search_keywords=$search&key=$key&search_section=1"); 
    $elements = $html->find(".index_item h2"); 
    if(!is_null($elements)){ 
     foreach($elements as $element){ 
      $element_title = strtolower(strip_tags(trim(preg_replace('/\s*\([^)]*\)/', '', $element->innertext))));     
      if ($element_title == strtolower(trim($title))) { 
       $parent = $element->parent(); 
       $movie_url = "http://primewire.ag".$parent->href; 
       break; 
      } 
     } 
    } 
    if (is_null($movie_url)) { 
     return array(); 
    } 

    //Step3 get embeds 
    $html = file_get_html($movie_url); 
    $elements = $html->find(".movie_version_link a"); 
    if(!is_null($elements)){ 
     foreach($elements as $element){ 
      $encoded_url = "http://primewire.ag".$element->href; 
      $query = parse_url($encoded_url, PHP_URL_QUERY); 
      parse_str($query,$op); 
      error came from ---> $link = base64_decode($op["url"]); <--- here 

      if(strpos($link, "affbuzzads")===false && strpos($link, "webtrackerplus")===false){ 
       $embed = $misc->buildEmbed($link); 
       if ($embed) { 
        $embeds[] = array(
         "embed" => $embed, 
         "link" => $link, 
         "language" => "ENG", 
        ); 
       } 
      } 
     } 
     return $embeds; 
    } 
    return array(); 
} 

可能有人請幫助我,這將是最有幫助的

+1

都已經做了的var_dump($ OP)和看如果有一個索引namend網址? – sHentschel

+0

如果您不知道這些網站在英國已被封鎖 – shorif2000

回答

2

parse_str返回上一個URL參數數組,就好像它是$ _GET數組英寸

它只會包含「URL」的值,如果你使用的網址有一個參數「URL」

例如它是沿着線:

http://example.com/?url=urlvalue 

因此,如果$元素 - > HREF(因此$ encoded_url和$查詢)不包含在其名爲「url」參數,你會不會得到一個指數「網址」

的$運算陣列在這裏看到的文檔:http://us1.php.net/manual/en/function.parse-str.php