Jump to content

Error while Downloading a video using URL curl in PHP

Featured Replies

I am trying to download a video with the URL using the curl function, I am getting an error while I do that.

$file_url = "https://r7---sn-5hne6nse.googlevideo.com/videoplayback?nh=IgpwcjA0LmFtczE1KgkxMjcuMC4wLjE&dur=9506.899&signature=7AE59A98DC631F320F23928EB823EB8A42AFA3ED.DA59E710F432FCC58F083D8AC7D52F3A592F809A&initcwndbps=2113750&ei=aAUVWszAD5HW1wLBkrjwDw&lmt=1471404907996618&sparams=dur%2Cei%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cexpire&expire=1511348680&ms=au&id=o-ANUZv3t4OvJIXUC1ZiLxywIPvA9gtJOCH1fO5Yv_NaF6&mv=m&mt=1511326928&mn=sn-5hne6nse&pl=22&source=youtube&mm=31&requiressl=yes&ip=37.58.82.168&mime=video%2Fmp4&itag=22&ipbits=0&ratebypass=yes&key=yt6&title=PMI+-+ACP+Tutorial+Part+1+%7C+PMI+ACP+Exam+Tutorial+for+Beginners-1+%7C+PMI+Agile+Certification";
$upload_dir = realpath('public/uploads/contents/download/');
$name       = uniqid();
$save_to    = $upload_dir.'/'.$name.'.mp4';
$downloaded_file = fopen($save_to, 'w');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $file_url);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FILE, $downloaded_file);
$page = curl_exec($ch);
if (!$page) {
    echo "Error :- ".curl_error($ch);
}
curl_close($ch);

I could download a PDF file using this code , but it doesn't for this video download .Any suggestion ??

Create an account or sign in to comment

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.