程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP中生成UUID,PHP生成UUID

PHP中生成UUID,PHP生成UUID

編輯:關於PHP編程

PHP中生成UUID,PHP生成UUID


一、什麼是UUID

  簡單的說UUID就是一串全球唯一的(16進制)數字串。

  UUID的全拼為“Universally Unique Identifier”,可以譯為“通用唯一識別碼”。UUID由開源軟件基金會 (Open Software Foundation, OSF) 定義,是分布式計算環境 (Distributed Computing Environment, DCE) 的一個組成部分。

  UUID的標准格式為“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx”,五個部分分別為8個字符、4個字符、4個字符、4個字符、12個字符,中間用“-”號間隔。常見的GUID(Globally Unique Identifier)是微軟對UUID標准的一種實現。

 

二、為什麼要使用UUID

  好處那叫一個多呀~~~,您隨便百度把。

三、UUID的生成代碼

  這個……,真心過時了,用擴展吧,別自己寫代碼了。

四、安裝UUID擴展

  相關的擴展在這裡:PECL :: Package :: uuid。

  PHP擴展安裝步驟一直就是那幾個:

  

wget http://pecl.php.net/get/uuid-1.0.3.tgz
tar zxvf uuid-1.0.3.tgz
cd uuid-1.0.3
phpize
./configure
make
make install

  好了,然後編輯一下PHP配置文件,重啟一下服務器,到phpinfo()去看效果吧:

  安裝成功之後,寫兩行代碼測試一下吧:

  

1 <?php
2 //uuid.php
3 echo uuid_create(), '<br />\n';
4 echo uuid_create(1);    //建議用法

  刷新幾次頁面,觀察一下兩行UUID的變化,有什麼發現嗎?想進一步了解的話,請學習一下UUID的幾個版本是如何定義的吧。

五、安裝擴展可能遇到的問題

  安裝擴展遇到問題一般都是系統缺少相關組件造成的。

  在centos 7中,需要先安裝libuuid-devel,這個用yum命令就可以了。

  在mac os 10.9中則需要先安裝libuuid,這個要到libuuid | SourceForge.net下載。

 

好了,就這些,有真正的v1 UUID可用了。


linux已經安裝了php擴展uuid 但是還報Call to undefined function uuid_make()這個錯誤,為甚

<?php phpinfo();?>
是否已經有MYSQL
否則
PHP.INI配置有問題
 

js中怎產生uuid

www.broofa.com/Tools/Math.uuid.js

Math.uuid = (function() {

// Private array of chars to use

var CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');

return function (len, radix) {

var chars = CHARS, uuid = [], rnd = Math.random;

radix = radix || chars.length;

if (len) {

// Compact form

for (var i = 0; i < len; i++) uuid[i] = chars[0 | rnd()*radix];

} else {

// rfc4122, version 4 form

var r;

// rfc4122 requires these characters

uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';

uuid[14] = '4';

// Fill in random data. At i==19 set the high bits of clock sequence as

// per rfc4122, sec. 4.1.5

for (var i = 0; i < 36; i++) {

if (!uuid[i]) {

r = 0 | rnd()*16;

uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r & 0xf];

}

}

}

return uuid.join('');

};

})();

// Deprecated - only here for backward compatability

var randomUUID = Math.uuid;

function generateUUID()

{

return Math.uuid();

}...余下全文>>
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved