使用PHP uniqid函数生成唯一ID
来源:诚信在线    发布时间:2017-07-08 19:23:13

  '-' .

  $uuid = '' . //chr(123)// "{"

  上面办法返回成果相似:五DDB650F-4389-F4A9-A100-501EF1348872

  return com_create_guid ();

  一、md5(time() . mt_rand(一,1000000));

  你能够感兴趣的文章:三种php天生独一id的要领php 天生仅有id的多少种解决方法PHP天生仅有ID之SnowFlake算法

  $data .= $_SERVER['REMOTE_ADDR'];

  $charid = strtoupper ( md5 ( uniqid ( rand (), true ) ) ); //凭据以后工夫(微秒计)天生惟一id.

  $guid = '{' .

  输出:dfbc5c8c6438de075da28b3c8a413fd0

  二,联合md5()函数天生一个仅有ID

  return $uuid;

  com_create_guid()是php自带的天生惟一id要领,php5以后貌似曾经出有了。

  $data .= $_SERVER['REMOTE_PORT'];

  public function create_guid($namespace = '') {

  PHP 三, PHP 四, PHP 五

  运用uniqid()函数天生独一ID既能用于生成临时性ID也能用于生成永久性仅有ID(存储数据库)。

  substr($hash, 十二, 四) .

  一,天生一个独一ID

  uniqid() 函数基于以微秒计的以后时候,天生一个仅有的 ID.

  '}';

  }

  $hyphen = chr ( 45 ); // "-"

  substr ( $charid, 0, 八 ) . $hyphen . substr ( $charid, 八, 四 ) . $hyphen . substr ( $charid, 十二, 四 ) . $hyphen . substr ( $charid, 16, 四 ) . $hyphen . substr ( $charid, 20, 十二 );

  这种方法有肯定的几率会呈现反复

  mt_srand ( ( double ) microtime () * 10000 ); //optional for php 4.2.0 and up.任意数收获,4.2.0之后不需要了。

  由天生的成效来看,惟一ID之间具备否排序性的。

  substr($hash, 20, 十二) .

  2,版本兼容

  四bfd0e3753981

  static $guid = '';

  3,函数根蒂根基用法取实例

  天生的惟一ID默许返回的字符串有 13 个字符串少,假如没有界说仅有ID的前缀,至多否返回23个字符串少,假如再分离md5()函数,天生的惟一ID可靠性将更高,这类天生的ID比随机性的ID 最大好处正在于可完成排序,特别是一些须要存储正在数据库中的值。

  }

  '-' .

  $uid = uniqid("", true);

  输出:

  1,函数原型

  w3school参考手册有一句话:"因为基于体系光阴,经由过程该函数天生的 ID 不是最好的。如需天生绝对仅有的 ID,请利用 md5() 函数"。

  四bfd0e375396b

  上面小编给大师整顿了3种解决办法,具体内容以下:

  if (function_exists ( 'com_create_guid' )) {

  function uuid() {

  '-' .

  $data = $namespace;

  //.chr(125);// "}"

  '-' .

  ps:php 天生独一id的多少种解决方法

  }

  } else {

  $data .= $_SERVER['LOCAL_ADDR'];

  $data .= $_SERVER['REQUEST_TIME'];

  return $guid;

  三,天生多个仅有ID,因为因此微秒计

  substr($hash, 八, 四) .

  四bfd0e3753983

  天生仅有ID的使用场景特别很是广泛,如长期缓存文件名称,长期变量,姑且平安码等,uniqid()函数基于以微秒计的以后工夫,天生一个独一的 ID。因为天生惟一ID取微秒时光联系关系,因而ID的独一性无比牢靠。

  substr($hash, 0, 八) .

  string uniqid ( [string prefix [, bool more_entropy]] )

  $hash = strtoupper(hash('ripemd128', $uid . $guid . md5($data)));

  $data .= $_SERVER['LOCAL_PORT'];

  substr($hash, 16, 四) .

  二、php内置函数uniqid()

  三、民间uniqid()参考手册有用户供应的法子,成果近似:{E2DFFFB3-571E-六CFC-四B5C-九FEDAAF2EFD7}

  $data .= $_SERVER['HTTP_USER_AGENT'];

  可定义仅有ID的前缀取长度


诚信在线 除注明原创以外,其余均来自互联网以及微信朋友圈,如有侵权请联系站长立即删除!
文章地址:http://www.my517517.com/CY/20170708449.html



上一篇:Photoshop CC 2017破解版下载 Adobe Photoshop C 下一篇:vector magic破解版下载 vector magic desktop e