سلام . وقت بخیر
من تابع generateRandomString را در فایل دیگر include کردم . یکبار تابع را فراخوانی کرده و رشته تصادفی را درست میکند اما با refresh کردن صفحه رشته تصادفی جدید تولید نمیکند و رشته قبلی که درست شده ثابت است .
اما وقتی به فایلی helper مراجعه میکنم و تابع را فراخوانی میکنم درست کار میکند و هر بار یک رشته تصادفی جدید تولید میکند .
کدها رو ارسال میکنم اگر زحمت بکشید راهنمایی بفرمایید . با تشکر
function generateRandomString($length) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_-<>\\/";
$charsLength = strlen($chars);
$randomString = '';
for($i = 0; $i<$length; $i++){
$randomString .= $chars[rand(0 , $charsLength - 1)];
}
return $randomString;
}
echo generateRandomString(10);
include 'helper.php';
// The rand() function generates a random integer
echo rand(10 , 100) . "
";
echo rand(10000000 , 100000000). "
";
echo rand(). "
";
// The mt_rand() function generates a random integer using the Mersenne Twister algorithm
echo mt_rand(100,100000000). "
";
echo mt_rand(). "
";
// Seed the random number generator seed the random with mktime() function
echo srand(mktime(22 , 37, 43, 07, 15,2022)). "
";
// random_int — Get a cryptographically secure, uniformly selected integer
$a = random_int(1000,10000);
echo $a . "" ;
echo gettype($a). "
";
echo $rand1 = random_bytes(3) . "
";
echo gettype($rand1). "
";
// The bin2hex() function converts a string of ASCII characters to hexadecimal values
echo bin2hex($rand1). "
";
$rand2 = bin2hex(random_bytes(5));
echo $rand2 . "
";
// openssl_random_pseudo_bytes — Generate a pseudo-random string of bytes
/*
This function is not recommended. Because it needs to install a dependency on the host.
In common projects, the random byte function is sufficient
*/
$rand3 = openssl_random_pseudo_bytes(40);
echo $rand3 . "
";
echo bin2hex($rand3) . "
";
//call the function from generate-key-helper.php to generate random string
echo generateRandomString(5);
یک کد مربوط به فایل helper و دیگری فایل دیگری است که فایل helper را در آن include کرده ام .
ممنون