Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php脚本强制下载youtube视频_Php_Video_Download_Youtube - Fatal编程技术网

php脚本强制下载youtube视频

php脚本强制下载youtube视频,php,video,download,youtube,Php,Video,Download,Youtube,我有Youtube视频下载脚本,它给出视频的url,但不下载,它在浏览器中打开视频并播放 $id = 'jNQXAC9IVRw';//$_GET['v']; parse_str(file_get_contents("http://youtube.com/get_video_info?video_id=".$id),$info); $streams = $info['url_encoded_fmt_stream_map']; $streams = explode(

我有Youtube视频下载脚本,它给出视频的url,但不下载,它在浏览器中打开视频并播放

    $id = 'jNQXAC9IVRw';//$_GET['v'];
    parse_str(file_get_contents("http://youtube.com/get_video_info?video_id=".$id),$info); 
    $streams = $info['url_encoded_fmt_stream_map'];
    $streams = explode(',',$streams);

    foreach($streams as $stream){
        parse_str($stream,$data);
        echo '<a href="'.$data['url'].'" class="btn btn-success">'.$data['quality'].'</a> ';
        /*echo $data['url'];
        *returns url like this
        *http://r2---sn-2uja-3ipd.googlevideo.com/videoplayback?mime=video%2Fwebm&upn=wdfTtFFSMNA&source=youtube&mt=1484446843&ms=au&expire=1484468585&initcwndbps=187500&ipbits=0&pl=24&itag=43&sparams=dur%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Csource%2Cupn%2Cexpire&id=o-AGqBaImYFicQvH1J3Tmt4QGqt817uD_Pw-vF9MF8asMy&dur=0.000&mm=31&key=yt6&mn=sn-2uja-3ipd&signature=C38C1D21BC1B7F4658BCEF30DFC94E1ACBE1FC6D.356305D4012AE391A24283CA46950BBCDE7EB7CE&lmt=1418224509434980&mv=m&ratebypass=yes&ip=119.154.139.153
        */
    }
$id='jNQXAC9IVRw'//$_获得['v'];
解析\u str(文件\u获取\u内容(“http://youtube.com/get_video_info?video_id=“$id),$info);
$streams=$info['url_encoded_fmt_stream_map'];
$streams=分解(“,”,$streams);
foreach($streams作为$stream){
parse_str($stream,$data);
回声';
/*echo$data['url'];
*返回如下url
*http://r2---sn-2uja-3ipd.googlevideo.com/videoplayback?mime=video%2Fwebm&upn=wdfTtFFSMNA&source=youtube&mt=1484446843&ms=au&expire=1484468585&initcwndbps=187500&ipbits=0&pl=24&itag=43&sparams=dur%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Csource%2Cupn%2Cexpire&id=o-AGqBaImYFicQvH1J3Tmt4QGqt817uD\u Pw-vF9MF8asMy&dur=0.000&mm=31&key=yt6&mn=sn-2uja-3ipd&signature=C38C1D21BC1B7F4658BCEF30DFC94E1ACBE1FC6D.356305D4012AE391A24283CA46950BBCDE7EB7CE&lmt=1418224509434980&mv=m&ratebypass=yes&ip=119.154.139.153
*/
}
我尝试了很多方法,但没有一个能像我所希望的那样工作。我想显示一些按钮,用户可以在电脑上下载自己选择的视频格式,如mp4、3gp。
我写了一个脚本,在服务器上下载0KB的文件。

如果由jquery完成,也可以。

创建另一个文件
download.php
将url、文件格式发送到该文件

制作链接=
download.php?视频\u url=https://that_lengthy_url&format=mp4-OR-3gp

下载.php

$format = $_GET['format'];  
$filename = 'video.'.$format;
$url = $_GET['video_url'];

header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename=\"".$filename."\""); 

readfile($url);
exit;

创建另一个文件
download.php
将url、文件格式发送到该文件

制作链接=
download.php?视频\u url=https://that_lengthy_url&format=mp4-OR-3gp

下载.php

$format = $_GET['format'];  
$filename = 'video.'.$format;
$url = $_GET['video_url'];

header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename=\"".$filename."\""); 

readfile($url);
exit;

它下载视频,但无法播放编辑下载视频,但无法播放