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

本文实例讲述了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 ";
}
?>

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

http://tools.jb51.net/password/dwzcreate

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

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 短网址
, 还原
短链
有简单的反和谐可用啦、win10系统还原不可用、煤气偷气最简单的技巧、最简单的足彩平局技巧、水表偷水最简单的技巧,以便于您获取更多的相关知识。

时间: 2024-07-29 19:46:34

php简单实现短网址(短链)还原的方法(测试可用)_php技巧的相关文章

PHP生成短网址的3种方法代码实例_php实例

短网址服务,可能很多朋友都已经不再陌生,现在大部分微博.手机邮件提醒等地方已经有很多应用模式了,并占据了一定的市场.估计很多朋友现在也正在使用. 看过新浪的短连接服务,发现后面主要有6个字符串组成. 太多算法的东西,也没必要去探讨太多,最主要的还是实现,下面是三种方法的代码: <?php //纯随机生成方法 function random($length, $pool = '') { $random = ''; if (empty($pool)) { $pool = 'abcdefghkmnpq

PHP简单实现上一页下一页功能示例_php技巧

本文实例讲述了PHP简单实现上一页下一页功能.分享给大家供大家参考,具体如下: 思路整理: 现在好多人用id的增1和减1实现上一篇和下一篇,但是难道文章ID不会断了吗?所以你要知道上个ID和个ID是多少就OK了. 那怎么解决这个问题呢,很简单! 例子: 假如这篇文章的ID200 <a href="?action=up&id=200">上一篇</a> <a href="?action=down&id=200">下一篇

超简单的短网址php实现

网上搜出来的都太复杂了,还是自己写算了. 环境: php,apache2,linux 操作: 把代码粘贴到index.php放在一个只有1个字符(如u)作为文件夹名的二级目录里即可,为此目录增加写权限,图省事就chmod 777 u  (根目录也行,为避免影响别的文件可能要改改代码) 结果: 把http://blog.csdn.net/hursing变成http://127.0.0.1/u/1 原理: 1.通过form post获取要变短的url 2.把url放在一个javascript内写入文

PHP中创建和验证哈希的简单方法实探_php技巧

 PHP 5.5.0 带来了一份完整的全新特性与函数的列表.全新API之一就是Password Hashing API.它包含4个函数:password_get_info(), password_hash(), password_needs_rehash(),和password_verify().让我们分步来了解每个函数. 我们首先讨论password_hash()函数.这将用作创建一个新的密码的哈希值.它包含三个参数:密码.哈希算法.选项.前两项为必须的.你可以根据下面的例子来使用这个函数:

简单介绍win7下搭建apache+php+mysql开发环境_php技巧

环境目录:E:\dev​ 一.Apache 下载地址:http://www.apachelounge.com/download/​ 我们下载VC11运行库的 1.安装说明: 运行apache安装程序,方法非常简单,弹安装界面后一直"next" 接着会出现一个界面,需要填写3个内容,分别为:Network Domain.Server Name.Administrator's Email Address 随便填写就好,不影响内容. 在下面还有2个选项,默认选择为80端口,第二个为8080端

简单了解PHP编程中数组的指针的使用_php技巧

要使用数组中的元素,就需要数组的定位.定位的实现需要借助数组指针来完成.PHP中有很多函数可以移动数组指针.下面将给大家介绍几个. 将指针移动到下一个数组位置next() next()函数返回紧接着放在当前数组指针下一个位置的数组值.其形式如下: mixed next(array array) 以下是一个例子: $fruits = array("apple", "banana", "orange", "pear"); echo

PHP备份/还原MySQL数据库的代码_php技巧

以下是代码: 一.备份数据库并下载到本地[db_backup.php] 复制代码 代码如下: <?php // 设置SQL文件保存文件名 $filename=date("Y-m-d_H-i-s")."-".$cfg_dbname.".sql"; // 所保存的文件名 header("Content-disposition:filename=".$filename); header("Content-type:a

php简单开启gzip压缩方法(zlib.output_compression)_php技巧

一般而言,页面文件开启gzip压缩以后,其体积可以减小60%~90%,对于文字类站点,可以节省下大量的带宽与用户等待时间.但是不论是iis还是apache默认都只压缩html类静态文件,对于php文件需要模块配置才可支持(iis7.5中开启动态+静态压缩也可以),于是利用php自身功能到达gzip的效果也成为一项合理的诉求. 网上的教程基本是你抄我来我抄他,不外乎加头加尾或者自构函数两种写法.实际上每个php页面都要去加代码--当然也可以include引用,不过总显得略微麻烦. 实际上最简单的办

php 无限级分类,超级简单的无限级分类,支持输出树状图_php技巧

无平台限制 只需要告知id,parentid,name 即可 <?php error_reporting(E_ALL ^ E_NOTICE); class Tree { /** +------------------------------------------------ * 生成树型结构所需要的2维数组 +------------------------------------------------ * @author abc +-----------------------------