Не толкова отдавна да потърсите с Google това, аз се отчаял, защото Аз не намирам, че той искаше. Необходимо беше да се създаде имена i20M видове. Имената и се състои от няколко букви и различен регистър, който дава възможност за по-голям брой стойности, отколкото в друг вариант. Но повечето от сайтовете, аз с удоволствие предават само числено име степен, т.е., е: 2342523423.
Така че аз исках да бъда 100% сигурен, че новият генериран номер не е бил използван преди това, като резултат може да се постигне или чрез записване на всички по-рано получените резултати другаде (например в база данни MySQL), след това проверете дали новосъздадената номер в базата данни и ако има натрупване на нови, но това е твърде много ненужни действия голямо натоварване на база, особено ако имаме голям брой вече утвърдени имена, а сценарият ще продължи да генерира нов чек, който много добре.
Въпреки това, малко след като седи и мислене, реших да направя последователно създаване на имена, т.е. подобни 1. 2. 3. 4. Единственият дори с добавка на буквите на различен случай.
Какви са плюсовете на този подход?
1. Абсолютно без натоварване на кода.
2. Надеждност. Името не се случи отново на 100%.
3. Лекотата и простотата на разбиране.
4. Кратки имена. Всички 4 знака и почти 15 милиона вариации.
Недостатъкът може да бъде само proschityvaemost, т.е. един човек, който се грижи за това как се прави това може да знае какво са били използвани стойности, в случай, разбира се, ако ги имате, чието производство и да ги съхранявате нещо важно. Във всички останали случаи, използването на код - перфектен.
Буквено-цифрови имена сериен sozdavatel в PHP
Създадената брой е 4-битов, но може да има 14.7 милиона различни стойности (64 на степен 4).
Така че, цялата структура ще се състои от 2 файла: mynum.txt. в която да се съхранява стойността на фамилията, която сте създали, и index.php, който би се кодират в следните направления:
>
>
друг $ QWE = str_replace ($ findit, $ replna, $ QWE);
$ Allbef = SUBSTR върху ($ Лала, 0, 1);
$ Newall = $ allbef $ QWE .;
>
$ Newid = fopen ( "./ mynum.txt", "w");
fputs ($ newid, "$ newall");
fclose ($ newid);
ехо $ newall;
// Вземете $ Newall е променлива, която съдържа уникално име.
?>
Както можете да видите, че не е толкова трудно, колкото изглежда на пръв поглед. В края на този код, можете да използвате променливата $ Newall. съдържащ името на последователността.
Говорейки за съгласуваност, аз бях първата 0-9, след което се смесват букви, AZ и AZ, което дава общо 62 различни стойности на едно и също име на изпълнението, т.е. 0-9 = 10, 26 = AZ, AZ = 26, и сумата 62, което означава, че всички различни варианти за име на 4-цифрен е 62 * 4 = 14770000.
Този код е вече конфигуриран за само 4 имена razradnye, например 143в. Fsfk. и най-важното за цялата тази схема да се създаде mynum.txt файл. който се изброят на 4 всеки символ използването на букви и / или цифри, с които да се започне и сериен сметка. След всяко изпълнение на съдържанието на код на файла ще uvelichevatsya 1 (143в ще бъде 143г).
Ако по някаква причина не се вписват тази схема се създаде последователна пространство от имена, можете да използвате произволен:
Alpha-числен имена случаен sozdavatel в PHP
Ако искате да име е произволно създадени с помощта на напълно произволни еднакви символа, аз препоръчвам използването на функция от вида:
функция generate_name (дължина $) $ код = '';
$ Символи = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-
+*% $ # ";
за ($ аз = 0; $ аз <(int)$length; $i++ )
$ Num = ранд (1, strlen ($ символа));
$ Code = SUBSTR върху ($ символи, $ бр-1, 1) .;
>
върне $ код;
>
ехо generate_name (5); // произволно име от 5 символи
Както можете да видите в променливите символите $ са затворени всички герои, от които ще бъдат изградени името си. Вие сте свободни да добавяте или премахвате символи на воля.
generate_name (N). където броят на символите N- бъдеще име поколение.
Друг буквено-цифрови имена генератор
Има и други начини за генериране на имена, като например:
$ Rand = SUBSTR върху (md5 (uniqid (ранд (), вярно)), 0, ранд (7, 13));
Накратко разбираемо.
Дори и по-кратък и по-ясни.
Какви са плюсовете на този код? Смята се, че той създава изцяло нов повтарящи се имена, но по подразбиране, като ги превръща в дължина от 32 символа. Все пак, това може лесно да бъде отстранено SUBSTR (функция).