学习php简单实现短网址(短链)还原的方法
发布:smiling 来源: PHP粉丝网 添加日期:2022-07-24 10:01:16 浏览: 评论:0
本文实例讲述了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(!emptyempty($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>
- <p 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 ";
- }
- ?>
Tags: php短网址还原
- 上一篇:分析php生成短网址/短链接原理和用法实例
- 下一篇:最后一页
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)