天天看點

php短網址生成與還原源碼,php簡單實作短網址(短鍊)還原的方法(測試可用)

這篇文章主要介紹了php簡單實作短網址還原的方法,以腳本之家短網址http://t.cn/heEHwk為例介紹了php還原短網址的實作技巧,非常簡單實用,需要的朋友可以參考下

本文執行個體講述了php簡單實作短網址還原的方法。分享給大家供大家參考,具體如下:

這裡以腳本之家//www.jb51.net的短網址http://t.cn/heEHwk為例運作效果截圖如下:

php短網址生成與還原源碼,php簡單實作短網址(短鍊)還原的方法(測試可用)

具體代碼如下:

$info1 = '親!暫不能解析此類短網址。';

$info2 = '親!網址解析失敗,請重試。';

$info3 = '

立即通路>>

';

$info5 = '親!不是短網址或無效。';

function unshort($url)

{

global $info1,$info2,$info3,$info4;

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);

curl_setopt ($curl, CURLOPT_USERAGENT, 'Mozilla/8.0 (compatible; MSIE 8.0; Windows 7');

curl_setopt($curl, CURLOPT_HEADER, 1);

curl_setopt($curl, CURLOPT_NOBODY, 0);

curl_setopt($curl, CURLOPT_TIMEOUT, 15);

curl_setopt($curl,CURLOPT_ENCODING, 'gzip');

$data = curl_exec($curl);

if(!empty($data)){

$message = curl_getinfo($curl);

curl_close($curl);

$status = $message['http_code'];

if ($status == '301' || $status == '302' ){

$UrlHeader = (get_headers($url,1));

$unurl = $UrlHeader[Location];

if(is_array($unurl)) {

$unurl = $unurl[0];

$unurl .=$info3.$unurl.$info4;

return $unurl;

}

else {

$unurl .=$info3.$unurl.$info4;

return $unurl;

}

}

return $info1;

}

return $info2;

}

function adfunshort($url)

{

global $info3,$info4,$info5;

$c = file_get_contents($url);

$p = "/url = '(.*)';/isU";

preg_match($p, $c, $content);

$unurl = $content[1];

if($unurl == '') {

return $info5;

}

else {

$unurl .=$info3.$unurl.$info4;

return $unurl;

}

}

?>

短網址:

$turl = $_POST['turl']?$_POST['turl']:"";

$url_done= $_POST['url_done']?$_POST['url_done']:"";

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.'){

$longurl = adfunshort($turl);

}else {

$longurl = unshort($turl);

}echo "短網址 ".$turl." 的真實網址為:

$longurl ";

}

?>

另外,本站還提供了短網址生成工具,具體連結如下:

希望本文所述對大家PHP程式設計有所幫助。