• ¡Welcome to Square Theme!
  • This news are in header template.
  • Please ignore this message.
مهمان عزیز خوش‌آمدید. ورود عضــویت


امتیاز موضوع:
  • 8 رای - 2.13 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Title: تولید عدد تصادفی با تابع php
حالت موضوعی
#1
ویژگی مرسومی که در بسیاری از سایت ها در هنگام ثبت نام کاربر انجام می شود، تولید اعداد تصادفی است. در این خودآموز بطور گام به گام روش طراحی اسکریپتی جهت تولید اعداد تصادفی را فرا خواهید گرفت.

برای این اسکریپت تابعی را در php طراحی می کنیم تا بوسیله ی آن بتوانیم اعداد تصادفی تولید کنیم. برای خواندن ادامه ی مطلب حداقل بایستی آشنائی با بعضی توابع در php داشته باشید و تمامی توابع با جزئیات تمام گفته نخواهد شد. (مانند تابع rand، strlen و...)
کد:
function rand_pass_gen($length, $allow = "abcdefghijklmnopqrstuvwxyz0123456789") {
نام تابع را rand_pass_gen گذاشته ایم. البته هر نامی که دوست داشته باشید می توانید برای این تابع برگزینید. تابع ما دو پارامتر را با نامهای length و allow می گیرد. متغیر length طول رمز عبور تولیدی را مشخص می کند و متغیر allow پارامتری اختیاری است. این متغیر تعیین می کند که رمز عبور تولیدی ما از چه کاراکترهائی تولید شود.
کد:
$i=1;

While ($i<=$length) {
این حلقه به تعداد پارامتر ورودی length توسط شما تکرار خواهد شد و بعلاوه در این حلقه هربار یک کاراکتر تولید می کنیم و آنرا به رمز عبور نهائی می افزائیم.
کد:
$max = strlen($allow)-1;

$num=rand(0,$max);
کد بالا عددی تصادفی از بین صفر تا طول متغیر allow منهای یک را تولید می کند. بنابراین اگر 20 کاراکتر داریم عدد تصادفی بین 0 تا 19 تولید خواهد شد، این بدان دلیل انجام می شود که تابع substr که در کد زیر استفاده شده است به اولین کاراکتر رشته با اندیس صفر بجای یک اشاره می کند.
کد:
$temp = substr($allow, $num, 1);
$ret  = $ret . $temp;
در بالا کاراکتری تصادفی از متغیر allow توسط تابع substr انتخاب می شود. این کاراکتر سپس به متغیر ret افزوده می شود که رمز عبور ما خواهد بود.
کد:
$i++;
}
return $ret;  
}
کد بالا حلقه را خاتمه می دهد و رمز عبور تصادفی ما را تولید می کند. حقیقتا خیلی کد ساده ای بود. تابع ما اکنون تمام شد. تمام کاری که اکنون برای انجام دادن داریم این است که تابع را فراخوانی کنیم.
کد:
$password = randomPassword(10);
و در زیر مثالی دیگر را مشاهده می کنید:
کد:
$password = randomPassword(10, '0123456789');
در زیر هم کل تابع را در یکجا مشاده می کنید:

کد:
function randomPassword($length, $allow = "abcdefghijklmnopqrstuvwxyz0123456789") {

    $i = 1;
    while ($i <= $length) {
        $max  = strlen($allow)-1;
        $num  = rand(0, $max);
        $temp = substr($allow, $num, 1);
        $ret  = $ret . $temp;
        $i++;
    }
    return $ret;  
}
 
پاسخ
  


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سورس کد ساخت اعداد تصادفی (پی اچ پی) Amin_Mansouri 2 7,341 09-11-2014، 07:22 AM
آخرین ارسال: mahfelsoft
  جستجو در فایل تصادفی Ghoghnus 3 6,139 07-17-2011، 09:58 AM
آخرین ارسال: Amin_Mansouri

پرش به انجمن:


Browsing: 1 مهمان