تولید عدد یکتا در PHP

php -
4 سال پیش توسط mrwebdeveloper آپدیت شد
آفلاین
user-avatar
علی ( 14261 تجربه )
4 سال پیش
تخصص : Laravel

لینک کوتاه اشتراک گذاری

0

سلام دوستان برای تولید یک عدد یکتا میشه از time() استفاده کرد ؟
فرذض کنید در لحظه مثلا شاید صد نفر میخان در سایت وارد شن یا ثبت نام کنن . میخایم یه شماره یکتا به هرکدوم بدیم. ازین روش میشه استفاده کرد ؟
تابع uniqueid() در php چیست ؟ واقعا این تابع یکتا هست ؟ من فقط یکتای عددی میخام

بهترین پاسخ
آفلاین
user-avatar
محمد قنبری
4 سال پیش

همیشه یه درصد خطای وجود داره تو این موارد
بله time خوبه ولی زیاد مناسب نیست
مثلا درخواست ها اگر پشت سر هم و در یک بازه زمانی باشند احتمال خطا هست (اگر فیلد جدولتون یونیک باشه).
معمولا تایم رو به یک عدد رندوم وصل می کنند که درصد خطا کمتر بشه

$time = time();
$rand = mt_rand(1000, 9999);
$unique = $time . $rand;
آفلاین
user-avatar
محمد قنبری ( 4670 تجربه )
4 سال پیش
تخصص : full-stack web application

لینک کوتاه اشتراک گذاری

2

همیشه یه درصد خطای وجود داره تو این موارد
بله time خوبه ولی زیاد مناسب نیست
مثلا درخواست ها اگر پشت سر هم و در یک بازه زمانی باشند احتمال خطا هست (اگر فیلد جدولتون یونیک باشه).
معمولا تایم رو به یک عدد رندوم وصل می کنند که درصد خطا کمتر بشه

$time = time();
$rand = mt_rand(1000, 9999);
$unique = $time . $rand;
آفلاین
user-avatar
مرتضی فتحی ( 234 تجربه )
4 سال پیش

لینک کوتاه اشتراک گذاری

1

از تابع ()uniqid استفاده کنی بهتره
توضیحات کامل
http://php.net/manual/en/function.uniqid.php

آفلاین
user-avatar
علی ( 14261 تجربه )
4 سال پیش
تخصص : Laravel

لینک کوتاه اشتراک گذاری

0

خب این uniquid واقعا عدد بکتا تولید میکنه ؟ برای چه بازه زمانی ای؟
از کجا متوجه میشه که قبلا این عدد تولید نشده ؟ اصلا نمیفهممش

آفلاین
user-avatar
مرتضی فتحی ( 234 تجربه )
4 سال پیش

لینک کوتاه اشتراک گذاری

0

خب واضحه هیچ تابعی 100 درصد ضمانت تولید آیدی یونیک نمیکنه ولی این فانکش تا حدود زیادی سعی میکنه یونیک باشه
و اینکه اگه توضحیات خود پی اچ پی رو میخوندی نوشته که تایم استمپ بیس هست خروجی تابع

آفلاین
user-avatar
mrwebdeveloper ( 2128 تجربه )
4 سال پیش
تخصص : Front End Engineer

لینک کوتاه اشتراک گذاری

0

بهترین منبع سایت خود php
http://php.net/manual/en/function.uniqid.php
با مثال و توضیحات

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.