СКРИПТЫ
ТЕГИ:
php (284)
js (166)
html (138)
css (116)
html tags (61)
jquery (40)
edit text (37)
php array (30)
form html (29)
fonts (27)
ruweb.net (23)
foto (22)
atom (20)
online (20)
forum (19)
svg (18)
Показать еще :
hosting (17)
board (17)
php file (16)
html book (16)
js method (16)
color (15)
input (15)
php date (15)
link (15)
js events (14)
htaccess (13)
table (13)
osclass (13)
dw block (12)
path (12)
js delete (12)
select (12)
icon (11)
form (11)
notepad (11)
download (11)
img (11)
php time (11)
keyboard (11)
php img (11)
jsphp (11)
mouse (10)
url (10)
js time (9)
info (9)
yandex (9)
php url (7)
comment (7)
cookie (7)
hover (7)
task (7)
dosite (7)
js url (6)
list (6)
iframe (6)
click (6)
year (6)
mysql (6)
search (5)
ftp (5)
chart (5)
browser (5)
js id (5)
mb (5)
php get (5)
heading (5)
adminka (5)
value (5)
symbols (4)
vk (4)
js form (4)
console (4)
mounth (4)
submit (4)
reg.ru (4)
bbcode (4)
day (4)
week (4)
captcha (3)
js img (3)
ucoz (3)
line (3)
ssl (3)
scandir (3)
pages (3)
js post (3)
https (3)
vs code (3)
padding (3)
рся (2)
second (2)
money (2)
youtube (2)
video (2)
typeof (2)
seo (2)
sitemap (2)
title (2)
tag hr (2)
cursor (2)
js vars (2)
counter (2)
arrows (2)
base64 (2)
qr kod (2)
height (2)
details (2)
archive (1)
numbers (1)
domen (1)
books (1)
куб (1)
scroll (1)
smile (1)
header (1)
windows (1)
google (1)
speed (1)

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

2018/08/16 Марат 478 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/ид из страницы.

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

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

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

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


    uniqid

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

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

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

    echo uniqid();

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

    62bea71e8fa15

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

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


    uniqid true

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

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

    echo uniqid('', true) ;

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

    62bea71e8fa180.84977378

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

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


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

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

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

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

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

    echo mt_rand();

    Результат:

    332848332

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

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

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

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

    Результат:

    62bea71e8fa326.910633721815087016

    И чтобы, количество знаков всегда было постоянным применим к этой конструкции функцию md5

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

    Результат:

    016aa8ac5137f3738648ee2e036200d5
    Вероятность не уникальности...

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


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

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

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

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

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

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

    echo microtime();

    Результат:

    0.58834600 1656661790

    Также поступим... с данной функцией... добавим md5:

    1730857f27673e86702f81aca96f70e1

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

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

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

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

    Array

    (

    [sec] => 1656661790

    [usec] => 588354

    [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
аватар
🞨
Загрузить свой аватар
(max ширина, высота = 200px)

Подписаться + =

Последние комментарии :
вывы :
05.06.2022 12:32
сейчас яндекс добавил индексацию js в…
подробнее.
Марат :
02.06.2022 20:14
Михаил :
02.06.2022 20:10
Ну вот только для этого может быть ;) А так, нет смысла…
подробнее.
Марат :
02.06.2022 15:59
Чтобы вы зашли на данную страницу и нажали на…
подробнее.
Михаил :
02.06.2022 14:33
Ну вот только для этого может быть :) А так, нет смысла…
подробнее.
Алексей :
26.05.2022 14:19
👍👍👍
подробнее.
ruweb
Страница загружена за : 0.020241 секунд. Подробнее