Загрузите видео с googlevideo и сохраните файл в необязательной папке - PullRequest
0 голосов
/ 29 мая 2020

У меня есть код для загрузки видео из 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
}
...