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


Posted in PHP onMay 09, 2016

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

这里以三水点靠木https://3water.com的短网址http://t.cn/heEHwk为例运行效果截图如下:

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

具体代码如下:

<?php
$info1 = '亲!暂不能解析此类短网址。';
$info2 = '亲!网址解析失败,请重试。';
$info3 = '<br/><b><a href="';
$info4 = '" target="_blank">立即访问>></a></b>';
$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;
 }
}
?>
<form action="" method="post">
短网址:<input type="text" name="turl" class="inurl" size="26" />
<input type="hidden" name="url_done" value="done" />
<input type="submit" value="提交" class="suburl" />
</form>
<div id="trurl">
<?php
$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." 的真实网址为:<br />$longurl ";
}
?>

另外,本站还提供了短网址生成工具,具体链接如下:

更多关于PHP相关内容可查看本站专题:《php加密方法总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php+dbfile开发小型留言本
Oct 09 PHP
生成静态页面的php函数,php爱好者站推荐
Mar 19 PHP
php与paypal整合方法
Nov 28 PHP
使用PHP实现二分查找算法代码分享
Jun 24 PHP
PHP调用Webservice实例代码
Jul 29 PHP
PHP header()函数使用详细(301、404等错误设置)
Apr 17 PHP
PHP 字符串长度判断效率更高的方法
Mar 02 PHP
thinkphp验证码显示不出来的解决方法
Mar 29 PHP
php使用sql server验证连接数据库的方法
Dec 25 PHP
浅谈PHP正则中的捕获组与非捕获组
Jul 18 PHP
PHP实现唤起微信支付功能
Feb 18 PHP
PHP程序守护进程化实现方法详解
Jul 16 PHP
php数据访问之增删改查操作
May 09 #PHP
php简单实现批量上传图片的方法
May 09 #PHP
php简单备份与还原MySql的方法
May 09 #PHP
PHP微信开发之微信消息自动回复下所遇到的坑
May 09 #PHP
php简单复制文件的方法
May 09 #PHP
win10环境PHP 7 安装配置【教程】
May 09 #PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
May 09 #PHP
You might like
php的memcached客户端memcached
2011/06/14 PHP
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
经验几则 推荐
2006/09/05 Javascript
JS文本框默认值处理详解
2013/07/10 Javascript
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
2013/11/28 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
2016/01/05 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
对Vue table 动态表格td可编辑的方法详解
2018/08/28 Javascript
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
TypeScript的安装、使用、自动编译的实现
2020/04/10 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
让python同时兼容python2和python3的8个技巧分享
2014/07/11 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
2019/06/17 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
2019/10/11 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
python+OpenCV实现图像拼接
2020/03/05 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
2020/09/09 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
html5录音功能实战示例
2019/03/25 HTML / CSS
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
机械电子工程毕业生自荐信
2013/11/23 职场文书
零件设计自荐信范文
2013/11/27 职场文书
少先队活动总结
2014/08/29 职场文书
个人三严三实对照检查材料思想汇报
2014/09/22 职场文书
模范教师材料大全
2014/12/16 职场文书
办公室岗位职责范本
2015/04/11 职场文书
美元符号 $
2022/02/17 杂记