最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php實現(xiàn)的短網(wǎng)址算法分享

 更新時間:2014年06月20日 11:12:23   投稿:junjie  
這篇文章主要介紹了php實現(xiàn)的短網(wǎng)址算法,理論上支持1,073,741,824個短網(wǎng)址,個人使用足夠了,需要的朋友可以參考下

每個網(wǎng)址用6個字符代替,(6^32) 最多可以擁有1,073,741,824個短網(wǎng)址。
當然,你還可以記錄更詳細的信息,如訪問記錄,創(chuàng)建時間等。
如果真不夠用了,還可以刪掉很久不用的。

復制代碼 代碼如下:

function shorturl($input) {
  $base32 = array (
    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
    'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
    'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
    'y', 'z', '0', '1', '2', '3', '4', '5'
    );
 
  $hex = md5($input);
  $hexLen = strlen($hex);
  $subHexLen = $hexLen / 8;
  $output = array();
 
  for ($i = 0; $i < $subHexLen; $i++) {
    $subHex = substr ($hex, $i * 8, 8);
    $int = 0x3FFFFFFF & (1 * ('0x'.$subHex));
    $out = '';
 
    for ($j = 0; $j < 6; $j++) {
      $val = 0x0000001F & $int;
      $out .= $base32[$val];
      $int = $int >> 5;
    }
 
    $output[] = $out;
  }
 
  return $output;
}

測試代碼:

復制代碼 代碼如下:

$input = 'http://www.fzitv.net/1';
$output = shorturl($input);
 
echo "Input  : $input\n";
echo "Output : {$output[0]}\n";
echo "         {$output[1]}\n";
echo "         {$output[2]}\n";
echo "         {$output[3]}\n";
echo "\n";
 
$input = 'http://www.fzitv.net/2';
$output = shorturl($input);
 
echo "Input  : $input\n";
echo "Output : {$output[0]}\n";
echo "         {$output[1]}\n";
echo "         {$output[2]}\n";
echo "         {$output[3]}\n";
echo "\n";

輸出:

復制代碼 代碼如下:

Input : http://www.fzitv.net/1
Output : h0xg4r
bdr3tw
osk2d3
4azfqa
 
Input : http://www.fzitv.net/2
Output : tm5kxb
ceoj2s
yw3dvl
nrmrxl

相關文章

  • 3個PHP多維數(shù)組轉為一維數(shù)組的方法實例

    3個PHP多維數(shù)組轉為一維數(shù)組的方法實例

    這篇文章主要介紹了3個PHP多維數(shù)組轉為一維數(shù)組的方法實例,分別使用foreach、for、while三種循環(huán)方法來實現(xiàn),需要的朋友可以參考下
    2014-03-03
  • 基于Zend的Config機制的應用分析

    基于Zend的Config機制的應用分析

    本篇文章介紹了,基于Zend的Config機制的應用分析。需要的朋友參考下
    2013-05-05
  • 使用Composer安裝Yii框架的方法

    使用Composer安裝Yii框架的方法

    這篇文章主要介紹了使用Composer安裝Yii框架的方法,結合具體實例分析了Composer的相關使用技巧,需要的朋友可以參考下
    2016-03-03
  • 淺析php工廠模式

    淺析php工廠模式

    本文通過實例向大家展示了php設計模式中的工廠模式,工廠模式分為三種:簡單工廠、工廠方法、抽象工廠。想學習的小伙伴們千萬不要錯過。
    2014-11-11
  • PHP讀取CSV大文件導入數(shù)據(jù)庫的實例

    PHP讀取CSV大文件導入數(shù)據(jù)庫的實例

    下面小編就為大家?guī)硪黄狿HP讀取CSV大文件導入數(shù)據(jù)庫的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • PHP解決高并發(fā)問題(opcache)

    PHP解決高并發(fā)問題(opcache)

    這篇文章主要介紹了PHP解決高并發(fā)問題(opcache),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • Laravel中獲取路由參數(shù)Route Parameters的五種方法示例

    Laravel中獲取路由參數(shù)Route Parameters的五種方法示例

    這篇文章主要給大家介紹了關于Laravel中獲取路由參數(shù)Route Parameters的五種方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Laravel具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-09-09
  • 基于php實現(xiàn)隨機合并數(shù)組并排序(原排序)

    基于php實現(xiàn)隨機合并數(shù)組并排序(原排序)

    最近做了一個項目,其中有這樣一個需求要實現(xiàn),原有帖子列表A,現(xiàn)在需要在A中推廣新業(yè)務B,那么需要在A列表中1:1混合B中的數(shù)據(jù),隨機混合,但是需要保持A和B兩列原來的數(shù)據(jù)排序,本篇文章給大家介紹基于php實現(xiàn)隨機合并數(shù)組并排序(原排序),需要的朋友參考下
    2015-11-11
  • Laravel 集成 Geetest驗證碼的方法

    Laravel 集成 Geetest驗證碼的方法

    這篇文章主要介紹了Laravel 集成 Geetest驗證碼的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • PHP設計模式(六)橋連模式Bridge實例詳解【結構型】

    PHP設計模式(六)橋連模式Bridge實例詳解【結構型】

    這篇文章主要介紹了PHP設計模式:橋連模式Bridge,結合實例形式詳細分析了PHP橋連模式Bridge概念、功能、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-05-05

最新評論

武宣县| 吴桥县| 文昌市| 库尔勒市| 高州市| 遂宁市| 黄浦区| 石河子市| 汉中市| 普格县| 连江县| 保山市| 虞城县| 增城市| 自治县| 维西| 东源县| 家居| 河曲县| 巴彦淖尔市| 行唐县| 文安县| 甘德县| 香格里拉县| 陈巴尔虎旗| 上高县| 衢州市| 南平市| 塘沽区| 喀什市| 五莲县| 秦皇岛市| 祁门县| 曲靖市| 漾濞| 宁南县| 曲阳县| 小金县| 曲沃县| 邵阳市| 彰武县|