PHP获取跳转后的URL,存到数据库,设置缓存时间

<?php
error_reporting(0);
header("Content-Type: text/html; charset=utf-8"); 
$ffid"];
$fid=3147111187646345;
$limittime='600';//单位秒    
$accessToken='b452d6669d7d41efabd92190c1f1c2d9'; //这里填写你自己帐号捉包的accessToken

//连接数据库查询FID是否有数据,并且是否有效
 
 
 //表自己建吧,就几个自动

$btime=$limittime*1000;//获取毫秒数
$stime=time();//开始时间
$etime=time()+$btime;//结束时间
    
//查询下FID是否有数据
$sql="select count(*) as total from url_table where f.$fid."' and down_url!='http:&ctyunapi.cn'";
$result=mysql_query($sql);
$data=mysql_fetch_array($result);
$total=$data[0]['total'];

if($total>0){
    //如果有数据,校验下,是否有效
    $sql="select count(*) as total  from url_table where f.$fid."' and stime>=".$btime." and etime<=".$btime;
    $result=mysql_query($sql);
    $data=mysql_fetch_array($result);
    $totalt=$data[0]['total'];
    
    if($totalt<1){
        //更新获取的数据
        //获取下载地址
    
        $data=get_curl_contents('https://api.cloud.189.cn/loginByOpen189AccessToken.action?accessToken='.$accessToken);
        preg_match('|sessionKey>(.*)</sessionKey|U',$data,$a);
        preg_match('|sessionSecret>(.*)</sessionSecret|U',$data,$b);
        $data=get_curl_contents('https://cloud.189.cn/v2/getFileInfo.action?file&sessionKey='.$a[1].'&sessionSecret='.$b[1]);

        $json=json_decode($data,true); 
        $downloadUrl = 'http:'.$json['downloadUrl'];
        $videoUrl = 'http:'.$json['videoUrl'];

        $html=get_curl_contents($videoUrl);
        $jsons=json_decode($html,true); 
        $video = $jsons['url'];

        if (!isset($video)) {
            $videos=$downloadUrl.'&ctyunapi.cn';
        } else {
            $videos='http:'.getrealurl($video).'&ctyunapi.cn';
        }
        $down_url=getrealurl($videos);
    
        $sql="update url_table set down_url='".$down_url."',stime=".$stime.",etime=".$etime." where f>;
        mysql_query($sql);
    }  else {

        $sql="select down_url  from url_table where f.$fid."' and stime>=".$btime." and etime<=".$btime;
        $result=mysql_query($sql);
        $data=mysql_fetch_array($result);
        $down_url=$data[0]['down_url'];
    }
} else {
    //直接插入数据
         
        $data=get_curl_contents('https://api.cloud.189.cn/loginByOpen189AccessToken.action?accessToken='.$accessToken);
        preg_match('|sessionKey>(.*)</sessionKey|U',$data,$a);
        preg_match('|sessionSecret>(.*)</sessionSecret|U',$data,$b);
        $data=get_curl_contents('https://cloud.189.cn/v2/getFileInfo.action?file&sessionKey='.$a[1].'&sessionSecret='.$b[1]);

        $json=json_decode($data,true); 
        $downloadUrl = 'http:'.$json['downloadUrl'];
        $videoUrl = 'http:'.$json['videoUrl'];

        $html=get_curl_contents($videoUrl);
        $jsons=json_decode($html,true); 
        $video = $jsons['url'];

        if (!isset($video)) {
            $videos=$downloadUrl.'&ctyunapi.cn';
        } else {
            $videos='http:'.getrealurl($video).'&ctyunapi.cn';
        }
        $down_url=getrealurl($videos);
     
 
    $sql="insert into url_table(fid,stime,etime,down_url)values('".$fid."',".$stime.",".$etime.",'".$down_url."')";
    mysql_query($sql);
}

mysql_close($conn);

header("Location:$down_url");    

 


function get_curl_contents($url,$header=0,$nobody=0){
        if(!function_exists('curl_init')) die('php.ini未开启php_curl.dll');
        $c = curl_init();
        curl_setopt($c, CURLOPT_URL, $url);
        curl_setopt($c, CURLOPT_HEADER, $header);
        curl_setopt($c, CURLOPT_NOBODY, $nobody);
        curl_setopt($c, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($c, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($c, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
        curl_setopt($c, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:'.$_SERVER["REMOTE_ADDR"], 'CLIENT-IP:'.$_SERVER["REMOTE_ADDR"]));
        $content = curl_exec($c);
        curl_close($c);
    return $content;    
}

function getrealurl($url){
    $header = get_headers($url,1);
    if (strpos($header[0],'301') || strpos($header[0],'302')) {
        if(is_array($header['Location'])) {
            return $header['Location'][count($header['Location'])-1];
        }else{
            return $header['Location'];
        }
    }else {
        return $url;
    }
}

?>