1

チューブビデオをダウンロードするためにphptubeクラスを使用しています。

このサイトから

コードでは、YouTubeのURLを入力ボックスに貼り付けていますが、以下にエラーがあります。

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

どこが問題なのか教えてください???

アップデート:

これがメインコードです

$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;    

output($ url)は http://www.youtube.com/get_video?video_id=nlZJ7RsyC0g&t=

ここはnullです、 YouTubeのURLからtを$t取得するにはどうすればよいですか$ticke

4

3 に答える 3

1

2 番目のエラーは、というディレクトリがないためです/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 プラグインがジャックされているか、正しい値を渡していません。あなたの意見は何ですか?

お役に立てれば!

于 2010-04-09T11:29:55.020 に答える
1

別のクラスを試しましたか-これを試してみてください-私にとってはうまくいき、ビデオとすべての関連データを取得するために必要なすべてのものがあります: PHP Youtube Class

于 2012-03-07T08:32:31.007 に答える
0

この投稿が古いことはわかっています。しかし、このページは「YouTube ビデオをダウンロードするための PHP クラス」という Google 検索の最初の 5 つの結果に含まれているため、他の人がこのスレッドに出くわす可能性があるため、私自身の (オープンソース) PHP クラスを参照したいと思います。 (これを書いている時点で) 完全に機能し、さらに、YT からビデオをダウンロードするだけでなく、それらを mp3 オーディオ ファイルに変換する追加機能もあります。

私の GitHub で見つけることができます: https://github.com/eyecatchup/php-yt_downloaderこれが誰かの役に立てば幸いです。

于 2012-07-27T17:44:08.247 に答える