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

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

2018/08/16 Марат 853 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();

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

    638615755672b

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

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


    uniqid true

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

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

    echo uniqid('', true) ;

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

    638615755672e1.82993151

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

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


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

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

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

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

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

    echo mt_rand();

    Результат:

    611160999

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

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

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

    echo uniqid('', true) ;

    Результат:

    63861575567431.09135902

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

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

    Результат:

    63861575567452.84968875742832666

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

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

    Результат:

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

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


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

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

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

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

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

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

    echo microtime();

    Результат:

    0.35412600 1669731701

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

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

    Результат:

    0354130001669731701

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

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

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

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

    Array

    (

    [sec] => 1669731701

    [usec] => 354135

    [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
Подписаться + =

Счетчик в график :

Построение гравиков
Основа для графика : счетчик посещаемости.
На отдельной : странице.
Последние комментарии :
Марат :
18.11.2022 17:21
Как же я вами завидую! Сколько у вас свободного…
подробнее.
>" :
18.11.2022 17:18
Читать тяжело. Я еще фильтрацию тегов потыкаю, если вы не…
подробнее.
Марат :
18.11.2022 17:17
А как восклицательные знаки? С ними всё нормально??? Или нет??? Вы к ним как…
подробнее.
Марат :
18.11.2022 17:15
В мире много разных отклонений... по статистике примерно 10% человек в странах имеют такие.... Была у меня…
подробнее.
qwe"> :
18.11.2022 17:00
Читать тяжело. Я еще фильтрацию тегов потыкаю, если вы не…
подробнее.
Марат :
20.10.2022 10:10
Очень рад за Вас!
подробнее.
ruweb
Страница загружена за : 0.02117 секунд. Подробнее