Home >Backend Development >PHP Tutorial >Learn how to simply restore short URLs (short links) in PHP
The example in this article describes how to simply implement short URL restoration in PHP. Share it with everyone for your reference, the details are as follows:
Related learning recommendations: php programming (video)
The specific code is as follows:
<?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> <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 "; } ?>
Related learning recommendations: Programming video
The above is the detailed content of Learn how to simply restore short URLs (short links) in PHP. For more information, please follow other related articles on the PHP Chinese website!