рд╕рд┐рдбрдЬрд╝реЗрдХреЛ рдХрдВрдкрдиреА
рд░реЗрдХреЛрдирд╕реНрдЯреНрд░реЙрдп рд╕рдВрдЧрдарди рдХреА рд╕рд╛рдЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реА рд╣реИ, рдЬреЛ рд╕реЗрдВрдЯреНрд░рд▓ рдмреНрд▓реИрдХ рдЕрд░реНрде рд░реАрдЬрди рдореЗрдВ рдИрдВрдЯреЛрдВ, рдЯрд╛рдЗрд▓реНрд╕, рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рд╕рдЬрд╛рд╡рдЯ рдФрд░ рдХрдИ рдЕрдиреНрдп рдирд┐рд░реНрдорд╛рдг рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмреЗрдЪрддрд╛ рдФрд░ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╕рд╛рдЗрдЯ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдПрдХ рдЪрд┐рдирд╛рдИ рдбрд┐рдЬрд╛рдЗрдирд░ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛ред
рдЬрд░реНрдорди рдЪрд┐рдВрддрд╛ "рдлреЗрд▓реНрдбрд╣реЙрд╕ рдХреНрд▓рд┐рдВрдХрд░" рдореЗрдВ рдИрдВрдЯ "рд╡рд╕реНрдХреВ рдорд┐рдХреНрд╕" рдФрд░ "рд╕рд┐рдВрдЯреНрд░рд╛ рдорд┐рдХреНрд╕" рдХрд╛ рдПрдХ рдореЙрдбрд▓ рд░реЗрдВрдЬ рд╣реИ, рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкрд╛рддреЛрдВ рдореЗрдВ рдорд┐рд╢реНрд░рдг рдХрд░рдиреЗ рдФрд░ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдЪрд┐рдирд╛рдИ рдкреИрдЯрд░реНрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрдирдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рдорд┐рдХреНрд╕ рдкреЛрдЯреАрди рдХреА рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдЬреЛ рдИрдВрдЯреЛрдВ рдХреЗ рдмреАрдЪ рдЪрд┐рдирд╛рдИ рдЬреЛрдбрд╝реЛрдВ рдХреЛ рдХреЛрдЯрд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рдИрдВрдЯрд╡рд░реНрдХ рдбрд┐рдЬрд╛рдЗрдирд░ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ RuNet рдореЗрдВ рдЕрднреА рддрдХ рдПрдирд╛рд▓реЙрдЧ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ (рдореБрдЭреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреА)ред

рдбреНрд░рд╛рдЗрдВрдЧ рдХреЛ рдЬреАрд╡рди рдХреЗ рдХрд░реАрдм рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдИрдВрдЯреЛрдВ рдФрд░ рд╕реАрдо рдкрд░ рдЫрд╛рдпрд╛ рдФрд░ рдЦрд░реЛрдВрдЪ рд▓рдЧрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╕реНрд╡рд┐рдЪ рдиреЗ рдЯрдЪ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯрд╛рдЗрд▓ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдбрд┐рдЬрд╛рдЗрдирд░ рдХреЗ рд▓рд┐рдП рд╕реИрдХрдбрд╝реЛрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдЪрд┐рдирд╛рдИ, рдИрдВрдЯреЛрдВ, рдЬреЛрдбрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рдкреЛрдЯреАрди рдЖрджрд┐ рдХреА рддрд╕реНрд╡реАрд░реЗрдВред
рд╢рд░рд╛рдмреА рдорд╛рд╕реНрдЯрд░ рдореЛрдб - рдХреЗ рд▓рд┐рдП рдордЬрд╝рд╛:

рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ
рд╣рдо рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдбрд┐рдЬрд╛рдЗрдирд░ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрд╛рдо рдХреА рдорд╛рддреНрд░рд╛ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкрдХреНрд╖ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрддреБрд▓рдиреАрдп рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ), рдлреНрд░рдВрдЯ-рдПрдВрдб рдбрд┐рдорд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рддрд░рдл рд╕реЗ рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдмреИрдХреЗрдВрдб рдкрд░ рдЙрд╕рдХреА рдорд╣рд╛рд░рдд рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВред
рдЗрд╕рд▓рд┐рдП ...
рдореБрдЦреНрдп рдЪрд░рдг
рд╣рдо рдЪрд┐рдирд╛рдИ рдХреЗ рд╕рднреА рд╕рдВрднрд╡ рдлреЛрдЯреЛ рд▓реЗрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо рдХреЗрд╡рд▓ рдХрдВрдкрдиреА рдХреА рд╡рд┐рдЬреНрдЮрд╛рдкрди рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реА рддрд╕реНрд╡реАрд░реЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рдИрдВрдЯреЛрдВ рдХреЛ рдХрд╛рдЯрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдкрд╛рд░рджрд░реНрд╢реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд▓рд┐рдкрд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдо рдИрдВрдЯреЛрдВ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдПрдХ рдЖрдХрд╛рд░ рдореЗрдВ рд▓рд╛рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбрд▓ рд╕реЗ, рд╣рдореЗрдВ рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╝реЛрдЯреЛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдкрд░рд┐рдгрд╛рдо рдЙрдмрд╛рдК рди рд╣реЛред

рд╡рд░реНрдЪреБрдЕрд▓ рдЪрд┐рдирд╛рдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдХ рд╣реА рдХреНрд░рдо рдореЗрдВ рдирд╣реАрдВ рдмрдирд╛рдИ рдЬрд╛ рд░рд╣реА рд╣реИ :-)
рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╣рдо рдкреВрд░реЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдПрдХ рд╕реАрдо рдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рднрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдЪрд┐рддреНрд░ рдЖрдХрд╛рд░ рдореЗрдВ рдЧреБрдгрд╛ рдХрд░рддреЗ рд╣реИрдВред

рдлрд┐рд░ рдИрдВрдЯреЛрдВ рдХреА рдкрд░рдд рдХреЛ рднрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рд▓рд╛рдЗрди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдореЙрдбрд▓ рд╕рд╣реА рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдорд┐рд╢реНрд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╡рд┐рд╖рдо рд╕реЗ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рдЖрдзрд╛ рдИрдВрдЯ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред (рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░реЗрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдЪрд┐рдирд╛рдИ рдЪрд┐рддреНрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдпрд╣ рд╕рдордп рд╕реАрдорд╛ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдХ рдкрд░ рд░рд╣рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред)

рдпрд╣ рд░реЛрдХрдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдкрд░рд┐рд╖реНрдХреГрдд рджрд┐рдЦрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рд╣рдореЗрд╢рд╛ рдмреЗрд╣рддрд░ рд╣реЛрддреА рд╣реИ: рдЦрд░реЛрдВрдЪ, рдЦрд░реЛрдВрдЪ - рдкреНрд░рддреНрдпреЗрдХ рдЪреАрдЬ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЙрд╕рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред рд╢реЛрд░ рдХреЗ рд╕рд╛рде рдЫрд╡рд┐ рдХреЛ рдХреГрддреНрд░рд┐рдо рд░реВрдк рд╕реЗ "рдЙрдореНрд░" рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЖрдк рдЫрд╡рд┐ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдмрджрд▓рддреЗ рд╣реБрдП рд╢реЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ: рд╣рдо рдЕрднреА рднреА рд╕рд╛рдордЧреНрд░реА рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрдирд╛рд╡рдЯ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреИрдорд░реЗ рдХрд╛ рдЖрдИрдПрд╕рдУ рд╢реЛрд░ред

рдЖрдЗрдП рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛рдПрдВ (рдЬреЛ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЪрд┐рддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд╕рдордп рдХреЛ рдмрд╣реБрдд рдмрдЪрд╛рдПрдЧрд╛) - рд╣рдо "рдЦрд░реЛрдВрдЪ" рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗред
рдЦрд░реЛрдВрдЪ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд▓рдВрдмрд╛рдИ, рдЭреБрдХрд╛рд╡ рдФрд░ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХреЗ рд╕рд╛рде рд╕рдлреЗрдж рдФрд░ рдХрд╛рд▓реА рд░реЗрдЦрд╛рдПрдВ рд╣реИрдВред рдпрджрд┐ рд░реЗрдЦрд╛ рдХрд╛ рд╢реАрд░реНрд╖ рд╣рд▓реНрдХрд╛ рд╣реИ рдФрд░ рдиреАрдЪреЗ рдЧрд╣рд░рд╛ рд╣реИ, рддреЛ рдЫрд╡рд┐ рдореЗрдВ рдпрд╣
рдЙрднрд╛рд░ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рдпрджрд┐ рд╢реАрд░реНрд╖ рдЕрдВрдзреЗрд░рд╛ рд╣реИ рдФрд░ рдиреАрдЪреЗ рдХреА рд░реЛрд╢рдиреА рдПрдХ
рдЦрд░реЛрдВрдЪ (рдЙрднрд╛рд░, рд╣рд╛рдВ) рдХреА рддрд░рд╣ рд╣реИред

рдмрд┐рдирд╛ рд╢реЛрд░ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде:

рдпрд╣ рдХреЙрдкреАрд░рд╛рдЗрдЯ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред рдлрд╝реЙрдиреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (рдЙрдмрдВрдЯреВ рдХрд░реЗрдЧрд╛)ред
imagettftext($image, 10, 90, $allWidth - 7, $allHeight - 7, imagecolorallocatealpha($image, 0, 0, 0, 90), 'font/ubuntu-r.ttf', 'Sijeko Brick Generator ' . GENERATOR_VERSION);

рд╣реЛ рдЧрдпрд╛!
рдЖрдЙрдЯрдкреБрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ JPEG рдФрд░ PNG (рд╕рднреА рд╕реНрд░реЛрдд рдЪрд┐рддреНрд░ PNG24 рдореЗрдВ рд╣реИрдВ) рджреЛрдиреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдореА PNG рдХреЗ рдмрдбрд╝реЗ рдЖрдХрд╛рд░ рдХреЗ рдХрд╛рд░рдг, рд╣рдо JPEG рдкрд░ рдмрд╕ рдЧрдПред
рдХреИрд╢рд┐рдВрдЧ рдФрд░ urls
рджреВрд╕рд░реА рдмрд╛рд░ рдЖрдкрдХреЛ рдЙрд╕реА рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ; рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЫрд╡рд┐ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдХреЙрд▓ рдкрд░ рдЗрд╕реЗ рдХреИрд╢ рд╕реЗ рдЬрд╛рд░реА рдХрд░реЗрдВред
рдЪрд┐рддреНрд░ рдХреИрд╢ рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ (рдЙрд░реНрдл рдлрд╝рд╛рдЗрд▓ рдирд╛рдо) URL рдХреЗ GET рднрд╛рдЧ рдореЗрдВ рдЪрд░ рдХреЗ рдХрд┐рд╕реА рднреА рдХреНрд░рдо рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╣рдо рд╕рднреА рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЪрд░ (рдХреБрдВрдЬрд┐рдпрд╛рдБ рдФрд░ рдорд╛рди рдЬрд┐рдиреНрд╣реЗрдВ URL рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рдХреБрдВрдЬрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡реИрд╢реНрд╡рд┐рдХ
$_GET
рд╕рд░рдгреА рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ:
рдлрд┐рд░ рд╣рдореЗрдВ рдмрд╛рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдорд┐рд▓рддреЗ рд╣реИрдВ:
$fileIdentifier = 'images/cache/' . $randSeed; $fileIdentifier .= sprintf( '/lineup-%s_color-%d_drunk-%s_', $lineup, $backFile, $isDrunk ? 'on' : 'off' ); foreach ($_GET as $key => $value) { if (!empty($value)) $fileIdentifier .= preg_replace('/[^a-z0-9_-]/ui', '', $key) . '-' . preg_replace('/[^a-z0-9_-]/ui', '', $value) . '_'; } $fileIdentifier = rtrim($fileIdentifier, '_'); $fileIdentifier .= '.' . OUTPUT_FORMAT;
рдЪрд▓реЛ рдХреИрд╢рд┐рдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд HTTP рд╣реЗрдбрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рди рднреВрд▓реЗрдВ:
header('Cache-Control: Public'); header('Pragma: Public'); header('Last-Modified: ' . gmdate('D, d MYH:i:s', $time) . ' GMT'); header('Expires: ' . gmdate('D, d MYH:i:s', $time + 30*24*60*60) . ' GMT');
рд░реИрдВрдбрдо рдирдВрдмрд░ рдЬрдирд░реЗрдЯрд░
рдпреВрдЖрд░рдПрд▓ рджрд░реНрд╢рди рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдЪрд┐рддреНрд░ рд╣рдореЗрд╢рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд┐рд╕реНрдЯрдо (рд╢реЛрд░, рдзрдХреНрдХреЛрдВ) рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХрд╛рд░рдХ рд╣реИрдВред рдЕрддреНрдпрдВрдд рд╕рдЯреАрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдХ рдЫрджреНрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ (PRNG) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЫрджреНрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрдиреБрдХреНрд░рдо рдЬрдирд░реЗрдЯрд░ (GPSP)ред рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ (
seed
) рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдХреНрд░рдо рдЕрджреНрд╡рд┐рддреАрдп рдФрд░ рджреЛрд╣рд░рд╛рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
PHP (.25.2.1) рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ,
mt_rand()
рдЬрдирд░реЗрдЯрд░ рдиреЗ
mt_srand($seed)
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рдорд╛рди рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдЕрдиреБрдХреНрд░рдо рдЬрд╛рд░реА рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ (рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдЗрди рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рдиреЗ
рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЧрдИ рд╣реИ)ред рдЕрдкрдиреА рдмрд╛рдЗрдХ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рд╣рдореЗрдВ рдЬрдирд░реЗрдЯрд░ рд╕реЗ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рдо рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдФрд░ рд╕рд░рд▓ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
public static function rand($min = 0, $max = 0xffffffff) { self::$m_z = 36969 * (self::$m_z & 65535) + (self::$m_z >> 16); self::$m_w = 18000 * (self::$m_w & 65535) + (self::$m_w >> 16); $res = ((self::$m_z << 16) + self::$m_w) & 0xffffffff; $res = $res > 0 ? $res : ~$res;
рдЬрд╣рд╛рдВ
self::$m_z
рдФрд░
self::$m_w
рдЬрдирд░реЗрдЯрд░ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рд╣реИрдВред
self::$m_z
рдХреЗ рд╕рдорд╛рди рд╕реЗрдЯ
self::$m_z
рдФрд░
self::$m_w
рдЬрдирд░реЗрдЯрд░ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рд╕рдорд╛рди рдЫрджреНрдо
self::$m_w
рдЕрдиреБрдХреНрд░рдо рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред
рдирд╢реЗ рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдореЛрдб
рдЖрдЗрдП рдкреНрд░рддреНрдпреЗрдХ рдИрдВрдЯ рдХреЛ рдПрдХ рд╕рдВрдХреАрд░реНрдг рдЭреБрдХрд╛рд╡ рд╕реАрдорд╛ рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХреЛрдг рдкрд░ рдШреБрдорд╛рдПрдВ, рдФрд░ рдирд╢реЗ рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдкрдХреА рджреАрд╡рд╛рд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЭреБрдХрд╛рд╡ рд╕реАрдорд╛ рдХреЛ рдбрд┐рдЧреНрд░реА рдореЗрдВ рдЕрд▓рдЧ рдХрд░рдХреЗ, рдЖрдк рдорд╛рддреНрд░рд╛ рдФрд░ рдкреЗрдп рдХреА рдорд╛рддреНрд░рд╛ (рд╕рдЬрд╛ рдХреЗ рд▓рд┐рдП рдЦреЗрдж) рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВред 3.2 ┬░ рдкрд░ рд░реБрдХ рдЧрдпрд╛ред
рд╕рдВрджрд░реНрдн