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边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
一贴学会PHP 新手入门教程
Aug 03 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
Jun 21 PHP
PHP数据类型之布尔型的介绍
Apr 28 PHP
PHP截断标题且兼容utf8和gb2312编码
Sep 22 PHP
PHP代码优化之成员变量获取速度对比
Feb 28 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
Apr 21 PHP
destoon官方标签大全
Jun 20 PHP
php基于str_pad实现卡号不足位数自动补0的方法
Nov 12 PHP
PHP获取当前所在目录位置的方法
Nov 26 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
Jun 03 PHP
PHP处理CSV表格文件的常用操作方法总结
Jul 01 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 获取客户端真实IP地址多种方法小结
2010/05/15 PHP
深入PHP数据加密详解
2013/06/18 PHP
DOM XPATH获取img src值的query
2013/09/23 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
laravel 根据不同组织加载不同视图的实现
2019/10/14 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
类之Prototype.js学习
2007/06/13 Javascript
javascript Keycode对照表
2009/10/24 Javascript
extjs两个tbar问题探讨
2013/08/08 Javascript
使用JavaScript获取电池状态的方法
2014/05/03 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
js图片跟随鼠标移动代码
2015/11/26 Javascript
基于JavaScript的操作系统你听说过吗?
2016/01/28 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
微信小程序 input输入框控件详解及实例(多种示例)
2016/12/14 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
在Python中实现贪婪排名算法的教程
2015/04/17 Python
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
2018/07/25 Python
Python list列表中删除多个重复元素操作示例
2019/02/27 Python
树莓派+摄像头实现对移动物体的检测
2019/06/22 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
Html5页面内使用JSON动画的实现
2019/01/29 HTML / CSS
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
Mytheresa美国官网:德国知名的女性奢侈品电商
2017/05/27 全球购物
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
西班牙香水和化妆品连锁店:Druni
2019/05/05 全球购物
致标枪运动员加油稿
2014/02/15 职场文书
党员个人年度总结
2015/02/14 职场文书
计划生育个人总结
2015/03/02 职场文书
保送生自荐信范文
2015/03/26 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书