Heim  >  Artikel  >  Backend-Entwicklung  >  Teilen von Algorithmusbeispielen zum Konvertieren von URLs in Kurz-URLs mithilfe von PHP

Teilen von Algorithmusbeispielen zum Konvertieren von URLs in Kurz-URLs mithilfe von PHP

墨辰丷
墨辰丷Original
2018-06-01 11:23:221674Durchsuche

Eine kurze URL ist, wie der Name schon sagt, eine URL mit relativ kurzer Form. Im heutigen Web 2.0-Zeitalter muss ich sagen, dass dies ein Trend ist. Es gibt bereits viele ähnliche Dienste, mit denen Sie die ursprünglichen langen URLs durch kurze URLs ersetzen können, um Benutzern das Teilen von Links zu erleichtern Bedarf kann sich darauf beziehen.

Vorwort

Der verkürzte URL-Dienst ist für viele meiner Freunde möglicherweise nicht mehr unbekannt. Jetzt ist er in den meisten mobilen E-Mail-Erinnerungen von Weibo verfügbar und an anderen Orten gibt es viele Anwendungsmodelle und besetzt einen bestimmten Markt. Es wird geschätzt, dass viele Freunde es jetzt verwenden.

Vorteile von Kurzlinks:

1. Benutzerfreundlichkeit;

Das Folgende ist der Algorithmus für die Kurz-URL-Konvertierung mit PHP. Der Code lautet wie folgt: PHP

<?php
//短网址生成算法
class ShortUrl {
  
  //字符表
  public static $charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
 
  public static function encode($url)
  {
    $key = &#39;abc&#39;; //加盐
    $urlhash = md5($key . $url);
    $len = strlen($urlhash);
 
    //将加密后的串分成4段,每段4字节,对每段进行计算,一共可以生成四组短连接
    for ($i = 0; $i < 4; $i++) {
      $urlhash_piece = substr($urlhash, $i * $len / 4, $len / 4);
      
      //将分段的位与0x3fffffff做位与,0x3fffffff表示二进制数的30个1,即30位以后的加密串都归零
      //此处需要用到hexdec()将16进制字符串转为10进制数值型,否则运算会不正常
      $hex = hexdec($urlhash_piece) & 0x3fffffff;
 
      //域名根据需求填写
      $short_url = "http://t.cn/";
      
      //生成6位短网址
      for ($j = 0; $j < 6; $j++) {
        
        //将得到的值与0x0000003d,3d为61,即charset的坐标最大值
        $short_url .= self::$charset[$hex & 0x0000003d];
        
        //循环完以后将hex右移5位
        $hex = $hex >> 5;
      }
 
      $short_url_list[] = $short_url;
    }
 
    return $short_url_list;
  }
}
 
$url = "http://www.sunbloger.com/";
$short = ShortUrl::encode($url);
print_r($short);
?>

Normalerweise verwenden wir die erste Gruppe von vier URL-Gruppen.

Hier ist zu beachten, dass dieser Algorithmus irreversibel ist. Daher besteht der übliche Ansatz darin, die Kurz-URL und die entsprechende Original-URL zu speichern. Beim Zugriff wird die entsprechende Original-URL entnommen aus der Datenbank, springen Sie durch 301 oder Header.

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

php Detaillierte Erläuterung der PDO-Ausnahmebehandlungsmethode

PHP liest zip Dateimethode


PHP-Version Single-Sign-In-Implementierungsplan


Das obige ist der detaillierte Inhalt vonTeilen von Algorithmusbeispielen zum Konvertieren von URLs in Kurz-URLs mithilfe von PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn