Maison  >  Article  >  développement back-end  >  Méthode simple PHP pour restaurer une URL courte (lien court) (disponible pour les tests)_compétences PHP

Méthode simple PHP pour restaurer une URL courte (lien court) (disponible pour les tests)_compétences PHP

WBOY
WBOYoriginal
2016-05-16 09:00:063254parcourir

L'exemple de cet article décrit comment implémenter simplement la restauration d'URL courtes en PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Voici l'URL courte http://t.cn/heEHwk de Script House à titre d'exemple. La capture d'écran de l'effet en cours est la suivante :

Le code spécifique est le suivant :

<&#63;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;
 }
}
&#63;>
<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">
<&#63;php
$turl = $_POST['turl']&#63;$_POST['turl']:"";
$url_done= $_POST['url_done']&#63;$_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 ";
}
&#63;>

De plus, Ce site propose également un outil de génération d'URL courtes, le lien spécifique est le suivant :

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

Pour plus de contenu lié à PHP, veuillez consulter les sujets spéciaux sur ce site : "Résumé des méthodes de chiffrement PHP", "Résumé des opérations PHP et de l'utilisation des opérateurs", " Réseau PHP Résumé des compétences en programmation ", "Tutoriel d'introduction à la syntaxe de base PHP ", "Résumé des compétences en matière d'exploitation de documents PHP Office (y compris Word, Excel, Access, ppt) ", "Résumé de l'utilisation de la date et de l'heure php", "Tutoriel d'introduction à la programmation orientée objet php", "Résumé de l'utilisation de la chaîne php (chaîne) ", "Tutoriel d'introduction au fonctionnement de la base de données PHP + MySQL " et "Résumé des compétences courantes en matière de fonctionnement de la base de données PHP "

J'espère que cet article sera utile à tout le monde dans la programmation PHP.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn