Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用不同质量的视频id下载dailymotion视频_Php_Video_Dailymotion Api - Fatal编程技术网

Php 使用不同质量的视频id下载dailymotion视频

Php 使用不同质量的视频id下载dailymotion视频,php,video,dailymotion-api,Php,Video,Dailymotion Api,我正在尝试使用PHP制作一个网站,可以使用Dailymotion视频链接下载Dailymotion视频。我搜索了谷歌,找到了一些脚本。但是脚本不起作用。 我上次尝试了以下代码 $video="x62w2zn";//a static dailymotion video id $link=""; $page=file_get_contents('http://www.dailymotion.com/embed/video/'.$video); $link = substr($page, strlen

我正在尝试使用PHP制作一个网站,可以使用Dailymotion视频链接下载Dailymotion视频。我搜索了谷歌,找到了一些脚本。但是脚本不起作用。 我上次尝试了以下代码

$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);
}
但是这个脚本也不起作用。在执行后显示一个空白页,并且没有任何内容正在下载。
请帮我解决这个问题。

我使用你的代码,它对我有用

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'];
    }
<?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);
}
?>