当前位置:首页 > PHP教程 > php应用 > 列表

php简单实现短网址(短链)还原的方法(测试可用)

发布:smiling 来源: PHP粉丝网  添加日期:2021-08-02 15:06:58 浏览: 评论:0 

这篇文章主要介绍了php简单实现短网址还原的方法,以脚本之家短网址http://t.cn/heEHwk为例介绍了php还原短网址的实现技巧,非常简单实用,需要的朋友可以参考下

本文实例讲述了php简单实现短网址还原的方法,分享给大家供大家参考,具体如下:

这里以脚本之家https://www.phpfensi.com的短网址http://t.cn/heEHwk为例运行

具体代码如下:

  1. $info1 = '亲!暂不能解析此类短网址。'
  2. $info2 = '亲!网址解析失败,请重试。'
  3. $info3 = '
  4. $info4 = '" target="_blank">立即访问>>'
  5. $info5 = '亲!不是短网址或无效。'
  6. function unshort($url
  7. global $info1,$info2,$info3,$info4
  8.  $curl = curl_init(); 
  9.  curl_setopt($curl, CURLOPT_URL, $url); 
  10.  curl_setopt($curl, CURLOPT_RETURNTRANSFER,1); 
  11.  curl_setopt ($curl, CURLOPT_USERAGENT, 'Mozilla/8.0 (compatible; MSIE 8.0; Windows 7'); 
  12.  curl_setopt($curl, CURLOPT_HEADER, 1); 
  13.  curl_setopt($curl, CURLOPT_NOBODY, 0); 
  14.  curl_setopt($curl, CURLOPT_TIMEOUT, 15); 
  15.  curl_setopt($curl,CURLOPT_ENCODING, 'gzip'); 
  16.  $data = curl_exec($curl); 
  17.  if(!emptyempty($data)){ 
  18.  $message = curl_getinfo($curl); 
  19.   curl_close($curl); 
  20.    $status = $message['http_code']; 
  21.    if ($status == '301' || $status == '302' ){ 
  22.     $UrlHeader = (get_headers($url,1)); 
  23.     $unurl = $UrlHeader[Location]; 
  24.     if(is_array($unurl)) { 
  25.      $unurl = $unurl[0]; 
  26.      $unurl .=$info3.$unurl.$info4
  27.      return $unurl
  28.      } 
  29.     else { 
  30.     $unurl .=$info3.$unurl.$info4
  31.     return $unurl
  32.     } 
  33.    } 
  34.   return $info1
  35.  } 
  36.  return $info2
  37. function adfunshort($url
  38. global $info3,$info4,$info5
  39.  $c = file_get_contents($url); 
  40.  $p = "/url = '(.*)';/isU"
  41.  preg_match($p$c$content); 
  42.  $unurl = $content[1]; 
  43.  if($unurl == '') { 
  44.   return $info5
  45.  } 
  46.  else { 
  47.   $unurl .=$info3.$unurl.$info4
  48.   return $unurl
  49.  } 
  50. ?> 
  51. "" method="post"
  52. 短网址:"text" name="turl" class="inurl" size="26" /> 
  53. "hidden" name="url_done" value="done" /> 
  54. "submit" value="提交" class="suburl" /> 
  55.  
  56. "trurl"
  57. $turl = $_POST['turl']?$_POST['turl']:""
  58. $url_done$_POST['url_done']?$_POST['url_done']:""
  59. if ($url_done == 'done'){ 
  60. $http = substr($turl,0,7); 
  61.  if ($http != 'http://' && $http != 'https:/'){ 
  62.   $turl = 'http://'.$turl
  63.   } 
  64.   $tturl = substr($turl,0,11); 
  65.   if ($tturl == 'http://adf.'){ 
  66.   $longurl = adfunshort($turl); 
  67.   }else { 
  68.   $longurl = unshort($turl); 
  69.  }echo "短网址 ".$turl." 的真实网址为:$longurl "
  70. ?>

Tags: php短网址 php短链接

分享到: