ПредишенСледващото

Не толкова отдавна да потърсите с 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 (функция).

Подкрепете проекта - споделете линка, благодаря!