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执行速度全攻略(上)
Oct 09 PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
Nov 01 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
Oct 04 PHP
php使用json_encode对变量json编码
Apr 07 PHP
php批量删除超链接的实现方法
Oct 19 PHP
详解WordPress中分类函数wp_list_categories的使用
Jan 04 PHP
phpMyAdmin无法登陆的解决方法
Apr 27 PHP
THINKPHP3.2使用soap连接webservice的解决方法
Dec 13 PHP
PHP后台备份MySQL数据库的源码实例
Mar 18 PHP
php实现推荐功能的简单实例
Sep 29 PHP
Laravel-添加后台模板AdminLte的实现方法
Oct 08 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
Oct 21 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
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
详解PHP版本兼容之openssl调用参数
2018/07/25 PHP
PHP _construct()函数讲解
2019/02/03 PHP
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
2011/03/10 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
2016/08/16 Javascript
基于vue的下拉刷新指令和滚动刷新指令
2016/12/23 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
ionic中列表项增加和删除的实现方法
2017/01/22 Javascript
关于layui时间回显问题的解决方法
2019/09/24 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
详解Python 数据库的Connection、Cursor两大对象
2018/06/25 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
PyQt+socket实现远程操作服务器的方法示例
2019/08/22 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
Python lxml模块的基本使用方法分析
2019/12/21 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
处理HTML5新标签的浏览器兼容版问题
2017/03/13 HTML / CSS
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
LG西班牙网上商店:Tienda LG Online Es
2019/07/30 全球购物
《一株紫丁香》教学反思
2014/02/19 职场文书
学习张林森心得体会
2014/09/10 职场文书
高三毕业评语
2014/12/31 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
交通事故赔偿起诉书
2015/05/20 职场文书
关于法制教育的宣传语
2015/07/13 职场文书
初中团委工作总结
2015/08/13 职场文书
财务人员廉洁自律心得体会
2016/01/13 职场文书
2017寒假社会实践心得体会范文
2016/01/14 职场文书
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技