Загрузите видео Dailymotion, используя идентификатор видео с разным качеством

Я пытаюсь создать сайт с использованием PHP, который может загружать видео Dailymotion, используя ссылку на видео Dailymotion. Я искал в Google и нашел какой-то скрипт. Но сценарии не работают.
Я в последний раз пробовал следующий код.

$video="x62w2zn";//a static dailymotion video id
$link="";
$page=file_get_contents('http://www.dailymotion.com/embed/video/'.$video);
$link = substr($page, strlen('mp4","url":"')+strripos($page, 'mp4","url":"'));  // beginning of link
$link = substr($link, 0, strpos($link, '"}'));  // end of link
$link = str_replace("\\", '', $link);   // delete backslashes
if(!empty($link)){
file_put_contents($path_log_link.$video, $link);    // save link in log
$cmd='wget -bqc '.$link.' -O "'.$path_download_file.$video.'.mp4"';
exec($cmd,$o,$r);
}

Но этот скрипт тоже не работает. Показывается пустая страница после выполнения и ничего не загружается.
Пожалуйста, помогите мне решить эту проблему.

0

Решение

function curlGet($URL) {
$ch = curl_init();
$timeout = 3;
curl_setopt( $ch , CURLOPT_URL , $URL );
curl_setopt( $ch , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt( $ch , CURLOPT_CONNECTTIMEOUT , $timeout );
$tmp = curl_exec( $ch );
curl_close( $ch );
return $tmp;
}
$id=$_GET['id'];
$link144=$link240=$link380=$link480=$link720=$link1080='';
$url= "https://www.dailymotion.com/embed/video/" . $id;
$video_info = curlGet($url);
preg_match('/,"qualities":(.+),"reporting"/', $video_info, $match);
$jd=json_decode($match[1],1);
if(@$jd['144']){
$link144=$jd['144'][1]['url'];
}
0

Другие решения

Я использую ваш код, и он работает для меня.

<?php
$videoid="x62w2zn";//a static dailymotion video id
$path_log_link='logs/';
$path_download_file='videos/';
$link="";
$page=file_get_contents('http://www.dailymotion.com/embed/video/'.$videoid);
$link = substr($page, strlen('mp4","url":"')+strripos($page, 'mp4","url":"'));  // beginning of link
$link = substr($link, 0, strpos($link, '"}'));  // end of link
$link = str_replace("\\", '', $link);   // delete backslashes\
$path = $path_download_file.$videoid.".mp4";

if ((!file_exists($path)) && (!empty($link))){
file_put_contents($path_log_link.$videoid.'.txt', $link); // save link in log
$cmd='wget -bqc '.$link.' -O "'.$path_download_file.$videoid.'.mp4"';
exec($cmd,$o,$r);
}
?>

Получить результат в папке видео

0