2010-04-09 58 views
1

我使用phptube類下載你管視頻。無法下載使用phptube類的youtube視頻

from this site

在代碼粘貼我在輸入框中輸入YouTube網址,但有以下錯誤。

Warning: file_get_contents(http://www.youtube.com/get_video?video_id=&t=) 
[function.file-get-contents]: failed to open stream: HTTP request failed! 
HTTP/1.0 404 Not Found 

Warning: file_put_contents(./flvs/3Hx9VsqMUug.flv) [function.file-put-contents]: 
failed to open stream: No such file or directory in E:\xampp\htdocs\vdo\utube 
\functions.php on line 19 
path:./flvs/3Hx9VsqMUug.flv 

請告訴我在哪裏的問題???

UPDATE:

這裏是主代碼

$url = "http://www.youtube.com/watch?v=".$video_id; 
      //where $video_id=nlZJ7RsyC0g 
    $this->req =& new HTTP_Request($url); 
    //echo "<pre>"; 
    //print_r($this->req); 
    //echo "</pre>"; 
    //die; 
    $response = $this->req->sendRequest(); 
    //echo $response; die; 
    if (PEAR::isError($response)) { 
     //echo "inside if"; 
     $response->getMessage()."\n"; 
    } else {  
     //echo "inside else"; 
     $page = $this->req->getResponseBody(); 
     //print_r($page); 
     //var_dump($page); 
     //die; 
     preg_match("/video_id=(\w*)/",$page,$mv); 

     $v_id = $mv[1]; 

     preg_match("/&t=([\w]*)&/",$page,$tickets); 
     $ticket = $tickets[1]; 

     $curl = ""; 
     $curl .= $v_id; 
     $curl .= "&t="; 
     $curl .= $ticket; 
     //echo $curl; 
     $url = "http://www.youtube.com/get_video?video_id=".$curl; 
     echo $url; 
     die; 
     if ($this->debug) 
     return $url;  

輸出($網址)是 http://www.youtube.com/get_video?video_id=nlZJ7RsyC0g&t=

這裏$t爲null,如何從YouTube網址獲得$ticke

回答

1

您的第二個錯誤是因爲如果您沒有名爲/flvs/的目錄。創建一個與執行腳本相同的目錄,你就會變成金手指。

至於你的第一個錯誤,聽起來像YouTube可能會阻止你的服務器。嘗試發出請求之前,設置一個用戶代理:

ini_set('user_agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9'); 

(我發現網上片段代替抽空寫我自己的時間隨便說。)

此外,它看起來並不像你傳遞任何參數(?video_id=&t=)。您正在使用的phptube插件已被插入,或者您沒有傳入正確的值。你的意見是什麼?

希望這會有所幫助!

+0

謝謝先生,第二個錯誤已被消除,但第一個錯誤stiil出現,請通過該網站從我下載的代碼,你可能會有一些想法。 – diEcho 2010-04-09 11:33:07

+0

乳清'video_id'和'&t'爲空' in'file_get_contents(http://www.youtube.com/get_video?video_id=&t=)'.. 我認爲這不應該是空的 – diEcho 2010-04-09 11:34:49

+0

我的輸入是youtube視頻url – diEcho 2010-04-09 11:45:47

1

你嘗試不同的類 - 嘗試這一個 - 工程請客,我和它擁有所有你可能需要獲得視頻和所有相關的數據:PHP Youtube Class

0

我知道這個帖子是該死的老。但是,由於此頁面是谷歌搜索「PHP類下載Youtube視頻」的前五項結果 - 因此其他人可能會遇到此線程,所以我想參考我自己的(開源)PHP類這是完整的功能(在寫這篇文章的時候)和 - 頂部 - 有一個額外的功能,不僅從YT下載視頻,而且還將其轉換爲MP3音頻文件。

你可以在我的GitHub找到它:https://github.com/eyecatchup/php-yt_downloader我希望這可以幫助某人。