php中的uniqid雖然是生成唯一的值,但是因?yàn)槭腔诋?dāng)前時(shí)間以微秒同時(shí)在多個(gè)服務(wù)器,所以當(dāng)運(yùn)行uniqid時(shí)可能會(huì)產(chǎn)生相同的值。
此問題可以通過應(yīng)用前綴(prefix)指定一個(gè)參數(shù)從而避免。它是使用rand函數(shù)為前綴指定一個(gè)隨機(jī)值。
此外,它可用于上傳圖像和文件,例如在保存上傳文件時(shí)生成文件名。
注意,uniqid容易受到密碼系統(tǒng)的攻擊,因此不要將其用作密碼!
uniqid的使用方法
第一個(gè)參數(shù)是前綴。
第二個(gè)參數(shù)指定是否增加要生成的字符數(shù)的true/false。默認(rèn)情況下,第二個(gè)參數(shù)為false,生成的字符數(shù)為13個(gè)字符。
我們來看uniqid具體的寫法
1、確認(rèn)由于第一引數(shù)的有無而不同。
echo uniqid(); // 生成13個(gè)字符的字符串echo uniqid(""""); // 指定參數(shù)為空,返回的字符串長度也為13echo uniqid(""prefix_""); // 生成13個(gè)字符的字符串輸出到“prefix_”
2、設(shè)置第二個(gè)參數(shù)
echo uniqid("""", false); //生成13個(gè)字符的字符串echo uniqid(""prefix_"", false); // 在“prefix_”之后,輸出由13個(gè)字符生成的字符串echo uniqid("""", true); // 生成23個(gè)字符的字符串echo uniqid(""prefix_"", true); // 在“prefix_”之后,輸出由23個(gè)字符生成的字符串
3、考慮在多個(gè)服務(wù)器上并發(fā)執(zhí)行
echo uniqid(rand().'_'); // 在“rand()_”之后輸出由13個(gè)字符生成的字符串
本篇文章到這里就全部結(jié)束了,更多精彩內(nèi)容大家可以關(guān)注 其他欄目教程!!!
以上就是如何使用php中uniqid函數(shù)生成唯一的id的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注 其它相關(guān)文章!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選