2012-07-15 72 views
3

我使用php和yt API來確定視頻是否存在。我已經實現了兩個功能,兩個幫助我沿着這個原因。問題出在功能isYoutubeVideo在視頻有效或無效時返回空值。我檢查了它的參數,但我仍然不確定爲什麼給我零值。我有isYoutubeVideo功能設置錯誤/缺少的東西/需求改變?通過網址驗證YouTube視頻編號

 function isYoutubeVideo($formatted_url) { 
      $isValid = false; 
      if (isValidURL($formatted_url)) { 
       $idLength = 11; 
       $idStarts = strpos($formatted_url, "?v="); 
       if ($idStarts === FALSE) { 
        $idStarts = strpos($formatted_url, "&v="); 
       } 
       if ($idStarts !== FALSE) { 
        //there is a videoID present, now validate it 
        $v = substr($formatted_url, $idStarts, $idLength); 
        $headers = get_headers('http://gdata.youtube.com/feeds/api/videos/' . $videoID); 
        //did the request return a http code of 2xx? 
        if (!strpos($headers[0], '200')) { 
         $isValid = true; 
        } 
       } 
      } 
      return $isValid; 
+0

答案打勾正確解決您的問題?我發現你繼續編輯這個問題,從你原來的帖子到現在,這裏有一個不同的世界! – Zuul 2012-07-15 15:31:58

+0

@Zuul問題出在功能上,以及ryuusenshi如何部分地提到我通過jquery填充的方式 – CodingWonders90 2012-07-15 17:22:18

+0

您可以在這裏查看我的答案。我已經寫了一個檢查YT視頻的課程http://stackoverflow.com/a/11810773/1437261 – Gogol 2012-09-03 12:17:18

回答

1

爲什麼你的第一個兩個回聲語句也回顯<span id="resultval">

隨着當前的標記和jQuery代碼,這就是爲什麼jQuery填充#specialnull

你需要改變你的PHP代碼:

echo('<div id="special"><span id="resultval">The YouTube video does not exist.</span></div>'); 

echo('<div id="special"><span id="resultval">that is a valid youtube video</span></div>'); 

雖然,我不明白爲什麼你用這樣一種迂迴的方式來填充#special。你可以剛開始<p>裏面<div id="#special">然後使用選擇器$("#special > p")

祝你好運!