СКРИПТЫ
ТЕГИ:
php (325)
js (242)
html (146)
css (130)
html tags (62)
js tag (56)
jquery (42)
text (37)
js method (36)
php array (33)
js date (33)
form html (30)
online (28)
fonts (26)
link (26)
Показать еще :
ruweb.net (25)
foto (22)
php file (20)
atom (20)
forum (19)
svg (18)
input (18)
hosting (18)
php date (17)
html book (16)
php time (16)
board (16)
color (15)
js url (14)
img (14)
js events (14)
js time (14)
info (13)
select (13)
osclass (13)
htaccess (13)
notepad (13)
знак (12)
php path (12)
keyboard (12)
php img (12)
download (12)
table (12)
dw block (12)
jsphp (11)
form (11)
icon (11)
yandex (10)
mouse (10)
js delete (10)
keyframes (10)
hover (9)
dosite (8)
browser (7)
cookie (7)
comment (7)
php url (7)
php get (6)
click (6)
mysql (6)
canvas (6)
list (6)
iframe (6)
js math (5)
reg.ru (5)
adminka (5)
mb (5)
heading (5)
tag a (5)
chart (5)
search (5)
ftp (5)
year (5)
js id (5)
value (5)
base64 (4)
day (4)
нок (4)
flags (4)
week (4)
xml (4)
scandir (4)
ssl (4)
bbcode (4)
php var (4)
games (4)
console (4)
js form (4)
vk (4)
pages (4)
submit (4)
month (4)
symbols (4)
task (4)
https (3)
js hash (3)
js post (3)
domen (3)
money (3)
vs code (3)
куб (3)
js img (3)
ucoz (3)
padding (3)
captcha (3)
numbers (3)
line (3)
tag hr (2)
qr kod (2)
youtube (2)
video (2)
рся (2)
sitemap (2)
counter (2)
details (2)
prompt (2)
typeof (2)
google (2)
height (2)
arrows (2)
seo (2)
js vars (2)
smile (1)
scroll (1)
speed (1)
нод (1)
archive (1)
header (1)
windows (1)
rutube (1)
jino (1)
cursor (1)

Сделать уникальный id/ид php

2018/08/16 Марат 789 0 php |
Уникальный идентификатор php или уникальный id/ид в php. Сколько способов существует для создания уникального id/ид? Есть ли функция, которая может выдавать уникальный id/ид?

Подробно о создании уникального id/ид в php.

  1. Создание уникального id/ид с помощью функции "uniqid"
  2. uniqid
    uniqid true
  3. Реальный уникальный id/ид из uniqid.
  4. Уникальный id/ид из microtime.
  5. Уникальный id/ид из емайла.
  6. Уникальный id/ид из страницы.
  7. Скачать можно здесь

  1. Создание уникального id/ид с помощью функции "uniqid"

    Существует отдельная функция, которая так и переводится "уникальный id/ид "

    uniqid НО! Внимание! в спецификации к данной функции написано(вероятность ничтожна, но это написано в учебнике...):

    Эта функция не гарантирует получения уникального значения. Большинство операционных систем синхронизирует время с NTP, либо его аналогами, так что системное время постоянно меняется. Следовательно возможна ситуация, когда эта функция вернёт неуникальный идентификатор для процесса/потока. Для увеличения вероятности получения уникального значения используйте параметр more_entropy.


    uniqid

    Давайте попробуем вывести, что нам вернет функция "uniqid", для того, чтобы вывести уникальный id/ид с помощью "uniqid" нам потребуется...

    Нам нужна функция echo.

    И выведем вот таким образом :

    echo uniqid();

    И разместим данный код прямо здесь:

    650ec40459abe

    Как видим, что функция uniqid(); вернула:

    Функция "uniqid" вернула значение из 13 знаков.


    uniqid true

    Как мы уже видели в предупреждении..., что нужно добавить энтропии - давайте сделаем это!

    В данном случае выводим вот таким образом:

    echo uniqid('', true) ;

    И вывод данного варианта "uniqid":

    650ec40459ac24.76210430

    Как видим, что функция uniqid('', true); вернула:

    Функция "uniqid" вернула значение из 23 знака.


  2. Реальный уникальный id/ид из uniqid.

    Как я уже цитировал выше учебник, что функция "uniqid" не дает 100% вероятности возвращения уникального id/ид .

    Парадоксально! Но факт! Функция, которая должна давать уникальный id/ид - его не дает! wall смайлы

    Ну что же... мы можем немного модифицировать функцию "uniqid", мы к ней... можем добавить... ну например функцию "mt_rand()":

    Выведем её прямо здесь:

    echo mt_rand();

    Результат:

    1443017110

    Нам вернулось рандомное число...

    Присоединим функцию uniqid(true) + mt_rand()

    uniqid('', true) вернет рандомное число с точкой:

    echo uniqid('', true) ;

    Результат:

    650ec40459adb4.19483576

    Соединим две функции:

    echo uniqid('', true) . mt_rand() ;

    Результат:

    650ec40459ade8.2724349465193974

    Удалим точку с помощью str_replace

    echo str_replace('.' , '', uniqid('', true) . mt_rand()) ;

    Результат:

    650ec40459ae1652024105553803749
    Вероятность не уникальности...

    Я даже не попытаюсь предположить... какая вероятность того, чтобы могли повториться две эти функции...


  3. Уникальный id/ид из microtime.

    Вариант создания уникального id/ид ! Его можно создать из функции microtime.

    Какая вероятность не уникальности данного id/ид?

    Предположить, что совпадут "микросекунды" - это...наверное... можно сравнить с чудом...

    Для этого нам понадобится функция microtime().

    Выведем её с помощью echo:

    echo microtime();

    Результат:

    0.36733300 1695466500

    Также поступим... с данной функцией... добавим str_replace? заменим точку и пробел на "ничего":

    echo str_replace(array('.',' ') , '' , microtime());

    Результат:

    0367338001695466500

    Проверка работы функции для создания уникального id/ид .

    Для создания такого уникального id/ид надо знать:

    Функция microtime() возвращает текущую метку времени Unix с микросекундами. Эта функция доступна только на операционных системах, в которых есть системный вызов gettimeofday().

    Поэтому... проверяем... работает ли на вашем сайте либо функцию microtime, либо gettimeofday():

    Array

    (

    [sec] => 1695466500

    [usec] => 367342

    [minuteswest] => -180

    [dsttime] => 0

    )


  4. Уникальный id/ид из емайла.

    Выше приведенный примеры создания уникального id/ид хороши по своему!

    Но у них есть один большой недостаток - они не могут гарантировать 100% уникальность!!!

    Эти уникальные идентификаторы не привязаны никак к пользователю!

    А если требуется такой, что делать?

    Что есть уникального у пользователя?

    Какой параметр у пользователя будет всегда уникальный?

    Правильно!

    Его емайл!

    И это тот случай... когда "емайл" - уникальный. Поэтому id/ид на его основе будет уникальным!

    Например:

    ed.wilson@mail.ru

    Чтобы скрыть его...

    И сделать уникальный id/ид из емайла... опять берем md5

    И выведем с помощью echo

    echo md5('ed.wilson@mail.ru');

    Результат создания уникального id/ид из емайла:

    6df9cb33ac41429237216d5edead97ac


  5. Уникальный id/ид из страницы.

    Для того, чтобы создать уникальный id/ид из страницы нам понадобится php - не будем же мы вручную это делать.

    Нам понадобится:

    Получим часть адресной строки после домена с помощью

    parse_url, чтобы всякая дрянь после ".html" нам не попалась...

    Не буду заново пересказывать выше приведенную ссылку на страницу... сразу напишем код:

    echo parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);

    Выведем здесь:

    /unikalnyiy_identifikator_php.html

    Добавляем опять md5

    echo md5(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));

    Выведем уникальный id/ид из адреса страницы:

    035f64d63b1340eb2c996fe0f2af3f38

Несколько вариантов создания уникального id/ид .

Я рассмотрел несколько вариантов создания уникального id/ид на сайте!

Еще... как вариант... можно создать такой же уникальный id/ид из телефона пользователя, но это уже более сложный вопрос... поскольку, проверить его будет не просто... нужно дополнительно заморочиться!

Не благодарите, но ссылкой можете поделиться!
Название скрипта :Уникальный идентификатор
Ссылка на скачивание : Все скрипты на одной странице
Временная ссылка для быстрейшей индексации : список всех квадратных корней.
Теги :
Уникальный идентификатор
Уникальный идентификатор php
Уникальный id/ид
Еще никто не прокомментировал! COMMENTS+   BBcode
Подписаться + =

ruweb dwweb.ru есть здесь:
Последние комментарии :
Марат :
15.08.2023 17:50
Значит в "maxv" сидит…
подробнее.
михаил :
15.08.2023 16:53
а если это сделано для диаграммы values / maxv)…
подробнее.
Марат :
17.07.2023 15:50
Спасибо за интересный вопрос! Посмотрите …
подробнее.
Александр :
17.07.2023 14:58
а как сделать чтобы при повторном клике значение value возвращалось к…
подробнее.
Марат :
30.06.2023 10:18
Спасибо за внимательность!
подробнее.
???? :
29.06.2023 15:37
Прямоугольник - это геометрическая фигура, у которой три угла…
подробнее.
Немного о ruweb.net!
Страница загружена за : 0.017427 секунд. Подробнее