<?php
namespace huanyuan;
use think\Controller;
class Huanyuan
{
public function unshort($url)
{
global $info;
$UrlHeader = (get_headers($url,1));
$UnurlHeader1 = $UrlHeader[Location];
$UnurlHeader2 = $UrlHeader[location];
if (!empty($UnurlHeader1)){
$unurl = $UnurlHeader1;
}
else {
$unurl = $UnurlHeader2;
}
if ($unurl==''){
echo $info[6];
}
else {
if(is_array($unurl)) {
$count_url = count($unurl);
if ($count_url>10) { //一次性还原的至多跳转数
$count_url = 10; //防止死循环
}
for ($i=0;$i<$count_url;$i++){
echo $info[3].$unurl[$i].$info[4].$unurl[$i].$info[5];
}
}
else {
//$unurl = $info[7].$unurl.$info[4].$unurl.$info[5];
$unurl = $info[7].$unurl;
return $unurl;
}
}
}
public function adfunshort($url)
{
global $info;
$c = file_get_contents($url);
list($version,$status_code,$msg) = explode(' ',$http_response_header[0], 3);
if ($status_code == '302') {
$unurl = $this->unshort($url);
}
else{
$p = "/url = '(.*)';/isU";
preg_match($p, $c, $content);
$unurl = 'http://adf.ly'.$content[1];
$html = file_get_contents($unurl);
list($version,$status_code,$msg) = explode(' ',$http_response_header[0], 3);
if ($status_code == '200') {
$d = file_get_contents($unurl);
$f = "/0; URL=(.*)\">/isU";
preg_match($f, $d, $content2);
$unurl = $content2[1];
if ($unurl==''){
echo $info[6];
}
else{
//$unurl = $info[7].$unurl.$info[4].$unurl.$info[5];
$unurl = $info[7].$unurl;
return $unurl;
}
}
else {
$unurl = $this->unshort($unurl);
}
}
}
//原处理
public function predeal($turl,$url_done='done'){
$turl = trim($turl);
// var_dump($turl);exit;
// $url_done= $_POST['url_done'];
global $info;
if ($url_done == 'done'){
$http = substr($turl,0,7);
if ($http != 'http://' && $http != 'https:/'){
$turl = 'http://'.$turl;
}
$tturl = substr($turl,0,11);
if ($tturl == 'http://adf.'){
// echo $info[2];
$longurl = $this->adfunshort($turl);
}
else {
// echo $info[2];
$longurl = $this->unshort($turl);
}
}
return $longurl;
}
}
//还原
Loader::import('huanyuan\Huanyuan',EXTEND_PATH);
$hong=new \huanyuan\Huanyuan();
$url="*****************";
$huan_url=$hong->predeal($url);