У меня есть код для загрузки видео из googlevideo на мой компьютер, он работает нормально, но я не могу сохранить файл в необязательной папке. Я пытался использовать функцию file_put_contents (), но она тоже не сработала. . Пожалуйста, помогите мне решить эту проблему. Огромное спасибо. Вот мой код:
function is_youtube($url) {
$pattern = '#^(?:https?://)?(?:www\.)?(?:youtu\.be/|youtube\.com(?:/embed/|/v/|/watch\?v=|/watch\?.+&v=))([\w-]{11})(?:.+)?$#x';
preg_match($pattern, $url, $matches);
return (isset($matches[1]))? $matches[1]: false;
}
$links = array ();
if (isset($_POST['link'])) {
$id = is_youtube($_POST['link']);
if(!$id) {
echo "<script>alert('invalid url'); window.location = 'index.php';</script>";
}
$url = 'https://www.youtube.com/get_video_info?video_id='.$id;
$code = file_get_contents($url);
parse_str($code);
$response = json_decode($player_response);
foreach( $response->streamingData->formats as $key => $format ) {
$links[$key]['url'] = $format->url;
$links[$key]['height'] = $format->height;
$links[$key]['width'] = $format->width;
$links[$key]['quality'] = $format->quality;
$links[$key]['qualityLabel']= $format->qualityLabel;
$links[$key]['thumb'] = $response->videoDetails->thumbnail->thumbnails[0]->url;
}
foreach ($links as $key => $link) {
if ($link['width']=="1280") {
$url = $link['url'];
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$id.mp4");
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
readfile($url);
exit;
}
}
//end
}