В связи с переходом на новый движок... возможны сбои в работе! Простите!
Работы производятся прямо сейчас 24-04-2024! 🞨
Меню :
php (331)



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

Сделать уникальный id/ид 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();

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

    66286d8f1bf20

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

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

    Uniqid true

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

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

    echo uniqid('', true) ;

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

    66286d8f1bf244.14514394

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

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


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

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

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

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

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

    echo mt_rand();

    Результат:

    1432329932

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

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

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

    echo uniqid('', true) ;

    Результат:

    66286d8f1bf390.77473649

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

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

    Результат:

    66286d8f1bf3c4.873968121597203665

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

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

    Результат:

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

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


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

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

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

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

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

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

    echo microtime();

    Результат:

    0.11449900 1713925519

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

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

    Результат:

    0114502001713925519

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

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

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

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

    Array

    (

    [sec] => 1713925519

    [usec] => 114506

    [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/ид из телефона пользователя, но это уже более сложный вопрос... поскольку, проверить его будет не просто... нужно дополнительно заморочиться!

Не стесняемся говорить спасибо!
Помочь проекту DwWeb.ru

Поделиться ссылкой! C друзьями или врагами!

Этим вы очень поможете проекту! Заранее огромное спасибо!

Теги:
Уникальный идентификатор Уникальный идентификатор php Уникальный id/ид
Ещё : dwweb.ru есть здесь:
ruweb
Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru! © 2015 - 2024 Контакты. Реклама на сайте Лучший хостинг : RUWEB + помощь по RUWEB
Страница загружена за : 0.018795 секунд. Подробнее