рдХрд┐рд╕реА рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдЪрд┐рдирд╛рдИ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛

рд╕рд┐рдбрдЬрд╝реЗрдХреЛ рдХрдВрдкрдиреА рд░реЗрдХреЛрдирд╕реНрдЯреНрд░реЙрдп рд╕рдВрдЧрдарди рдХреА рд╕рд╛рдЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реА рд╣реИ, рдЬреЛ рд╕реЗрдВрдЯреНрд░рд▓ рдмреНрд▓реИрдХ рдЕрд░реНрде рд░реАрдЬрди рдореЗрдВ рдИрдВрдЯреЛрдВ, рдЯрд╛рдЗрд▓реНрд╕, рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рд╕рдЬрд╛рд╡рдЯ рдФрд░ рдХрдИ рдЕрдиреНрдп рдирд┐рд░реНрдорд╛рдг рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмреЗрдЪрддрд╛ рдФрд░ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

рд╕рд╛рдЗрдЯ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдПрдХ рдЪрд┐рдирд╛рдИ рдбрд┐рдЬрд╛рдЗрдирд░ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛ред

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





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

рд╢рд░рд╛рдмреА рдорд╛рд╕реНрдЯрд░ рдореЛрдб - рдХреЗ рд▓рд┐рдП рдордЬрд╝рд╛:

┬л ┬╗



рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ


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

рдЗрд╕рд▓рд┐рдП ...

рдореБрдЦреНрдп рдЪрд░рдг


рд╣рдо рдЪрд┐рдирд╛рдИ рдХреЗ рд╕рднреА рд╕рдВрднрд╡ рдлреЛрдЯреЛ рд▓реЗрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо рдХреЗрд╡рд▓ рдХрдВрдкрдиреА рдХреА рд╡рд┐рдЬреНрдЮрд╛рдкрди рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реА рддрд╕реНрд╡реАрд░реЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо рдИрдВрдЯреЛрдВ рдХреЛ рдХрд╛рдЯрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдкрд╛рд░рджрд░реНрд╢реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд▓рд┐рдкрд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВред

рд╣рдо рдИрдВрдЯреЛрдВ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдПрдХ рдЖрдХрд╛рд░ рдореЗрдВ рд▓рд╛рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбрд▓ рд╕реЗ, рд╣рдореЗрдВ рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╝реЛрдЯреЛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдкрд░рд┐рдгрд╛рдо рдЙрдмрд╛рдК рди рд╣реЛред



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

рдЫрд╡рд┐

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

рдЫрд╡рд┐

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

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

//  () for ($x = 0; $x < $allWidth; $x++) for ($y = 0; $y < $allHeight; $y++) imagesetpixel($image, $x, $y, imagecolorallocatealpha($image, 0xff, 0xff, 0xff, MyRand::rand(115, 127))); 

рдмреЗрддрд░рддреАрдм рд╢реЛрд░

рдЖрдЗрдП рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛рдПрдВ (рдЬреЛ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЪрд┐рддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд╕рдордп рдХреЛ рдмрд╣реБрдд рдмрдЪрд╛рдПрдЧрд╛) - рд╣рдо "рдЦрд░реЛрдВрдЪ" рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗред

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

 //   () //    for ($x = 0; $x < 5000; $x++) { $dotX = MyRand::rand(0, $allWidth); $dotY = MyRand::rand(0, $allHeight); $scratchWidth = MyRand::rand(1, 8); // 80% - (+1)  20%  (-1) $scratchAdj = MyRand::rand(0, 10) > 8 ? -1 : +1; for ($i = 0; $i < $scratchWidth; $i++) { imagesetpixel($image, $dotX+$i, $dotY+$scratchAdj, imagecolorallocatealpha($image, 0xff, 0xff, 0xff, MyRand::rand(95, 110))); imagesetpixel($image, $dotX+$i, $dotY, imagecolorallocatealpha($image, 0x00, 0x00, 0x00, MyRand::rand(95, 110))); } } 



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



рдпрд╣ рдХреЙрдкреАрд░рд╛рдЗрдЯ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред рдлрд╝реЙрдиреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (рдЙрдмрдВрдЯреВ рдХрд░реЗрдЧрд╛)ред

 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 рд╕рд░рдгреА рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ:

 //   (         ) ksort($_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) рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рдорд╛рди рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдЕрдиреБрдХреНрд░рдо рдЬрд╛рд░реА рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ (рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдЗрди рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЧрдИ рд╣реИ)ред рдЕрдкрдиреА рдмрд╛рдЗрдХ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рд╣рдореЗрдВ рдЬрдирд░реЗрдЯрд░ рд╕реЗ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рдо рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдФрд░ рд╕рд░рд▓ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

 /** *        . * @param integer $min * @param integer $max * @return integer */ 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; //var_dump($res, PHP_INT_MAX, 0xffffffff); die; return intval($min + floor(($res / doubleval(0xffffffff)) * ($max - $min + 1))); } 

рдЬрд╣рд╛рдВ self::$m_z рдФрд░ self::$m_w рдЬрдирд░реЗрдЯрд░ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рд╣реИрдВред self::$m_z рдХреЗ рд╕рдорд╛рди рд╕реЗрдЯ self::$m_z рдФрд░ self::$m_w рдЬрдирд░реЗрдЯрд░ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рд╕рдорд╛рди рдЫрджреНрдо self::$m_w рдЕрдиреБрдХреНрд░рдо рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред

рдирд╢реЗ рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдореЛрдб

рдЖрдЗрдП рдкреНрд░рддреНрдпреЗрдХ рдИрдВрдЯ рдХреЛ рдПрдХ рд╕рдВрдХреАрд░реНрдг рдЭреБрдХрд╛рд╡ рд╕реАрдорд╛ рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХреЛрдг рдкрд░ рдШреБрдорд╛рдПрдВ, рдФрд░ рдирд╢реЗ рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдкрдХреА рджреАрд╡рд╛рд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЭреБрдХрд╛рд╡ рд╕реАрдорд╛ рдХреЛ рдбрд┐рдЧреНрд░реА рдореЗрдВ рдЕрд▓рдЧ рдХрд░рдХреЗ, рдЖрдк рдорд╛рддреНрд░рд╛ рдФрд░ рдкреЗрдп рдХреА рдорд╛рддреНрд░рд╛ (рд╕рдЬрд╛ рдХреЗ рд▓рд┐рдП рдЦреЗрдж) рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВред 3.2 ┬░ рдкрд░ рд░реБрдХ рдЧрдпрд╛ред

рд╕рдВрджрд░реНрдн


Source: https://habr.com/ru/post/In203840/


All Articles