PHP Youtube视频下载脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP Youtube视频下载脚本相关的知识,希望对你有一定的参考价值。

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
	$url = (isset($_POST['url']) && !empty($_POST['url'])) ? $_POST['url'] : false;
	if (!$url) {
		echo "Please enter a URL.";
	} else {
		$source = file_get_contents($url);
		$source = urldecode($source);
		
		// Extract video title.
		$vTitle_results_1 = explode('<title>', $source);
		$vTitle_results_2 = explode('</title>', $vTitle_results_1[1]);
		
		$title = trim(str_replace(' - YouTube', '', trim($vTitle_results_2[0])));
		
		// Extract video download URL.
		$dURL_results_1 = explode('url_encoded_fmt_stream_map": "url=', $source);
		$dURL_results_2 = explode('\u0026quality', $dURL_results_1[1]);
		
		// Force download of video.
		$file = str_replace(' ', '_', strtolower($title)).'.webm';
		
		header("Cache-Control: public");
		header("Content-Description: File Transfer");
		header("Content-Disposition: attachment; filename=$file");
		header("Content-Type: video/webm");
		header("Content-Transfer-Encoding: binary");
		
		readfile($dURL_results_2[0]);
		
		exit;
	}
}
?>
<form method="post">
	<label for="url">URL:</label> 
	<input type="text" name="url" value="" id="url"> 
	<input type="submit" name="submit" value="Download">
</form>

以上是关于PHP Youtube视频下载脚本的主要内容,如果未能解决你的问题,请参考以下文章

php 中的 Youtube 视频下载器失败 - 禁止

用于通过PHP访问Youtube的Google API密钥

视频上传停止工作 - Youtube API

Youtube API令牌在长时间上传时过期

PHP:使用同步标志上传 YouTube v3 API 字幕

当我想通过 PHP 从 YouTube 获取直接 URL 时的签名问题