2011-03-18 83 views
2

我找反正從YouTube ... 當然下載視頻我使用,並嘗試了所有代碼和腳本,所有的人都失敗...如何下載youtube視頻php?

因此,我希望新的代碼,幫助我..

+3

後你已經嘗試了代碼,我們將開始從那裏 – dynamic 2011-03-18 21:48:18

+0

大多數人只使用他們的瀏覽器觀看視頻,其下載.flv文件到他們的電腦......這屬於您指定的「任何方式」。 – 2011-03-18 22:02:09

回答

5

爲此使用外部工具。 youtube-dl想到,簡單的從PHP中利用:

$url = escapeshellcmd($url); 
exec("youtube-dl $url -O /tmp/video.flv"); 
+1

這是蟒蛇,我們想要的PHP ... – Abdula 2011-03-19 10:00:20

+0

然後用PHP重寫它,如果你想。 – mario 2011-03-19 10:15:57

+0

我會嘗試...非常感謝你 – Abdula 2011-03-19 10:53:36

1
<?php 
// The YouTube ID 
$key = "Ct5KJKBI9kc"; 
// Get all info for video 
$output = file_get_contents('http://www.youtube.com/get_video_info?&video_id='.$key); 
// Parse data to eg.(&id=var) 
parse_str($output); 
// Get Quality map of video an set array 
if(isset($url_encoded_fmt_stream_map)) { 
$my_formats_array = explode(',',$url_encoded_fmt_stream_map); 
} 
// Set Array & Vars 
$avail_formats[] = ''; 
$i = 0; 
// Break up array to create download links to quality 
foreach($my_formats_array as $format) { 
parse_str($format); 
echo "<a download='". $title .".mp4' href='".$avail_formats[$i]['url'] = urldecode($url) . '&signature=' . $sig."'>". $title .".mp4</a> Quality - ".$quality."<br>"; $i++; } ?> 
+0

只需將$ key值更改爲您的YouTube視頻ID並運行即可。 – GHnubST 2014-08-25 16:35:34

+0

關於在這段代碼中使用'parse_str',php手冊說:**警告:**使用這個沒有第二個參數的函數是DISCOURAGED。動態設置函數作用域中的變量與register_globals存在完全相同的問題。 – roetnig 2017-01-24 13:26:52