4 способа сгенерировать уникальный id PHP
09.08.2015
1. Использовать функцию uniqid()
<?php // создаем уникальный id с префиксом 'about' $a = uniqid(about); echo $a; echo "<br>"; // создаем longer уникальный id с префиксом 'about' $b = uniqid (about, true); echo $b; echo "<br>"; // создаем уникальный id с рандомным префиксом $c = uniqid (rand(), true); echo $c; echo "<br>"; // сохраняем в базу данных $md5c = md5($c); echo $md5c; echo "<br>"; ?>
2. Используем текущее время + ip
<?php
$stamp = date("Ymdhis");
$ip = $_SERVER['REMOTE_ADDR'];
$orderid = "$stamp-$ip";
$orderid = str_replace(".", "", "$orderid");
echo($orderid);
echo "<br>";
?>
3. Используем уникальный id произвольной длины
<?php
// задаем длину
$random_id_length = 10;
// генерируем id и зашифровываем его
$rnd_id = crypt(uniqid(rand(),1));
// убираем слэши
$rnd_id = strip_tags(stripslashes($rnd_id));
// убираем точки и переворачиваем строку задом наперед
$rnd_id = str_replace(".","",$rnd_id);
$rnd_id = strrev(str_replace("/","",$rnd_id));
// берем первые 10 значений
$rnd_id = substr($rnd_id,0,$random_id_length);
echo "Random Id: $rnd_id" ;
echo "<br>";
?>
4. Генерируем XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX подобный id
<?php
function NewGuid() {
$s = strtoupper(md5(uniqid(rand(),true)));
$guidText =
substr($s,0,8) . '-' .
substr($s,8,4) . '-' .
substr($s,12,4). '-' .
substr($s,16,4). '-' .
substr($s,20);
return $guidText;
}
$Guid = NewGuid();
echo $Guid;
echo "<br>";
?>
#PHP
