PHP рдореЗрдВ trie рдЙрдкрд╕рд░реНрдЧ рдкреЗрдбрд╝ рдХреЗ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛


рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд PHP trie рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рд╢рдмреНрджрдХреЛрд╢ рдХреЛ рдЕрдм рддрдХ рдмрд╣реБрдд рдореЛрдЯрд╛ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рддрджрдиреБрд╕рд╛рд░ рд╕реНрдореГрддрд┐ рдореЗрдВ рд▓реЛрдб рд╣реЛрдиреЗ рдореЗрдВ рдХрд╛рдлреА рд╕рдордп рд▓реЗрддрд╛ рд╣реИ, рдЬреЛ рдЕрдкрдиреЗ рдХрд╛рдо рдХреА рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдЧрддрд┐ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рддрд╛ рд╣реИред рдЦреЛрдЬ рдХреА рдЧрддрд┐ ~ 80 рд╣рдЬрд╛рд░ рд╢рдмреНрдж рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд╣реИред рдбрд┐рдХреНрд╢рдирд░реА opencorpora.org рдХреЗ рд╢рдмреНрджрдХреЛрд╢ рдХреА рд╕реВрдЪреА рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ 389844 рд╢рдмреНрдж рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЕрд╕рдореНрдкреАрдбрд┐рдд рд░реВрдк рдореЗрдВ, рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рд╡рдЬрди ~ 150mb рдФрд░ рд╕рдВрдХреБрдЪрд┐рдд gzip ~ 6mb рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░рд┐рдгрд╛рдо рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╢реБрджреНрдз PHP рдореЗрдВ рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЯреНрд░рд╛рдЗ рдкреНрд░реАрдлрд╝рд┐рдХреНрд╕ рдЯреНрд░реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

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

рдпрд╣ рд╕рдм рдХреИрд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ


рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╕рдордп рд╕реЗ рдореИрдВ рдЕрдкрдиреЗ PHP рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд╛рддреНрдордХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдШреГрдгрд╛ рдХрд░рддрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рдХрд┐ рджрд┐рдП рдЧрдП рд╢рдмреНрджреЛрдВ рдХреЗ рд░реВрдкрд╛рддреНрдордХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рд╕рд╛рде рд╣реА рд╢рдмреНрджреЛрдВ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рд░реВрдкрд╛рддреНрдордХ рд░реВрдк рдореЗрдВ рдмрджрд▓ рджреЗрдЧрд╛ред

PHP рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕рдорд╛рди рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬрд┐рд╕реЗ phpmorhy рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХрд╛рдлреА рддреЗрдЬрд╝реА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдБрдЧрд╛ рдФрд░ рдХреБрдЫ рднреА рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдирд╣реАрдВ рдХрд░реВрдБрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдбрд┐рдХреНрд╢рдирд░реА рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЧреИрд░-PHP рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрд╡рдпрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд рдПрдУрдЯреА рд╢рдмреНрджрдХреЛрд╢ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЗрд╕рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рдФрд░ рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИред

рд╕рдкреНрддрд╛рд╣ рдФрд░ рдорд╣реАрдиреЗ рдмреАрдд рдЧрдП, рдореИрдВрдиреЗ рдЦрд╛рдмрд░реЛрд╡рдЪрдирд┐рди рдХрд╛ рдПрдХ рд▓реЗрдЦ рдкрдврд╝рд╛, рдлрд┐рд░ рдЖрдИред рд╕реЗрдЧрд▓реЛрд╡рд┐рдЪ рдХрд╛ рдПрдХ рд▓реЗрдЦ , рдПрдХ рдЦреЛрдЬ рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдПрдХ рддреЗрдЬрд╝ рд░реВрдкрд╛рддреНрдордХ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдкрд░, рдлрд┐рд░ рд╡рд┐рднрд┐рдиреНрди рд▓реЗрдЦреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ред

рдереЛрдбрд╝рд╛-рдереЛрдбрд╝рд╛ рдХрд░рдХреЗ, рдореИрдВ рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рд▓реБрдирдкрд╛рд░реНрдХ рдХреЛ рд▓рд╛рдареА рдФрд░ рдПрдХ рд░реВрдкрд╛рддреНрдордХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреА рд╣рдбреНрдбрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдкрдХреНрд╡ рд╣реЛ рдЧрдпрд╛ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ: " рдареАрдХ рд╣реИ, рдкреНрд░рдЧрддрд┐ рдЖрдЧреЗ рдмрдврд╝реА рд╣реИ, рдкреАрдПрдЪрдкреА рдореЗрдВ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╛рдирд╡ рдЬреАрдиреЛрдо рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ! "

рдореИрдВрдиреЗ opencorpora.org рд╢рдмреНрджрдХреЛрд╢ рд▓рд┐рдпрд╛, рдЗрд╕реЗ mysql рдореЗрдВ рдбрд╛рд▓рд╛ рдФрд░ 2 рд╣рдЬрд╛рд░ рд╢рдмреНрджреЛрдВ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдХреА рдЦреЛрдЬ рдЧрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХреАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рдмреНрджрдХреЛрд╢ рдХреЛ рд╕реНрдореГрддрд┐ рдореЗрдВ рд▓реЛрдб рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдФрд░ рдпрд╣рд╛рдБ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рд░рдгреА рдпрд╛ рдПрдХ рд╡рд╕реНрддреБ рдХреА рддрд░рд╣ PHP рдореЗрдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ 3 рдорд┐рд▓рд┐рдпрди рдХреЗ рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рд▓рдЧрднрдЧ 3 рдЬреАрдмреА рд░реИрдо рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рднреА php trie рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛ рдореЗрд░реЗ рд╕рд╛рдордиреЗ рдЖрдП, рд╡реЗ рдХреЗрд╡рд▓ рдХрд╛рд░реНрдп рдХреЗ рддрд░реНрдХ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдереЗ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕реНрд╡рдпрдВ рдореВрд▓ PHP рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рд╕рдВрд░рдЪрдирд╛рдУрдВ рдкрд░ рдмрдирд╛рдП рдЧрдП рдереЗред

рд╢рдмреНрджрдХреЛрд╢ рднрдВрдбрд╛рд░рдг рдЙрдкрдХрд░рдг рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд


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

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

рдореЗрд░реЗ рддреНрд░рд┐-рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдиреЛрдбреНрд╕ 154 рдмрд╛рдЗрдЯреНрд╕ рдХреА рдирд┐рд╢реНрдЪрд┐рдд рд▓рдВрдмрд╛рдИ рдХреЗ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рд╣реИрдВред рдкрд╣рд▓реЗ 6 рдмрд╛рдЗрдЯреНрд╕ (48 рдмрд┐рдЯреНрд╕) рдореЗрдВ рд╡рд╛рд░рд┐рд╕ рдХрд╛ рдмрд┐рдЯ рдорд╛рд╕реНрдХ рд╣реЛрддрд╛ рд╣реИред рдкрд╣рд▓реЗ 46 рдмрд┐рдЯреНрд╕ рд░реВрд╕реА рд╡рд░реНрдгрдорд╛рд▓рд╛, рд╕рдВрдЦреНрдпрд╛, рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди, рд╣рд╛рдЗрдлрд╝рди рдФрд░ рдПрдкреЛрд╕реНрдЯреНрд░реЛрдлрд╝ рд╣реИрдВред рдПрдкреЛрд╕реНрдЯреНрд░реЛрдл рдХреЛ рдЗрд╕рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ opencorpora.org рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ "рдХреЛрдЯреЗ рдбреА -рд╡рд╛рдпрд░" рд╢рдмреНрдж рд╣реИ, рдЬреЛ рдПрдкреЛрд╕реНрдЯреНрд░реЛрдл рд╕рдВрдХреЗрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред 47 рд╡реЗрдВ рдмрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢рдмреНрдж рдХреЗ рдзреНрд╡рдЬ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрд┐рдЯрдорд╛рд╕реНрдХ рдХреЗ рдмрд╛рдж рдирд┐рдореНрди 148 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдиреЛрдб рдХреЗ рд╡рд╛рд░рд┐рд╕реЛрдВ рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддрд┐ рдЪрд░рд┐рддреНрд░ 3 рдмрд╛рдЗрдЯреНрд╕ (46 * 3 = 148)ред

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

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

рдЕрдВрдЬреАрд░ред 1 рд╕рдВрдЧреНрд░рд╣рдг рдпреЛрдЬрдирд╛




рдХрдорд┐рдпреЛрдВ


рднрдВрдбрд╛рд░рдг рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрддреЗ рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЛ рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред 380 рд╣рдЬрд╛рд░ рд╢рдмреНрджреЛрдВ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рд▓рд╛рдЦ рд╕реЗ рдЕрдзрд┐рдХ рдиреЛрдбреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред 154 рдмрд╛рдЗрдЯреНрд╕ * 1,000,000 рдиреЛрдбреНрд╕ = 146.86 рдореЗрдЧрд╛рдмрд╛рдЗрдЯреНрд╕ред рдпрд╛рдиреА рд▓рдЧрднрдЧ 400 рдмрд╛рдЗрдЯреНрд╕ рдкреНрд░рддрд┐ рд╢рдмреНрджред рдпрджрд┐ рдЖрдк utf8 рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢рдмреНрдж рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдпреЗ 380 рд╣рдЬрд╛рд░ рд╢рдмреНрдж 16 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдореЗрдВ рдлрд┐рдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдпреЛрдЬрдирд╛рдУрдВ


рдореЗрдореЛрд░реА рдХреЛ рдЕрдзрд┐рдХ рддрд░реНрдХрд╕рдВрдЧрдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдиреЛрдбреНрд╕ рдХреА рдПрдХ рдЪрд░ рд▓рдВрдмрд╛рдИ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдлрд┐рд░ рдПрдХ рд▓рд┐рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдореБрдЭреЗ рдиреЛрдб рдЖрдИрдбреА рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдЗрд╕рдХрд╛ рд╕реНрдерд╛рди рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╡рд╛рдВрдЫрд┐рдд рдиреЛрдб рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рд╕реНрдерд╛рди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред "Abv" рд╢рдмреНрдж рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ред

рдЕрдХреНрд╖рд░ "рдП" рд╡рд░реНрдгрдорд╛рд▓рд╛ рдореЗрдВ рдкрд╣рд▓рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЗрд╕рдХрд╛ рдиреЛрдб рднреА рдХреНрд░рдорд╢рдГ рдкрд╣рд▓рд╛ рд╣реИ, рдСрдлрд╕реЗрдЯ 0ред 6 рдмрд╛рдЗрдЯреНрд╕ рдкрдврд╝реЗрдВ, 0 рд╕реЗ рд╢реБрд░реВред

$str = substr($dic, 0, 6); 

рд▓рд╛рдЗрди рдЕрдирдкреИрдХ рдХрд░реЗрдВ:

 $mask = (ord($str[5]) << 40) + (ord($str[4]) << 32) + (ord($str[3]) << 24) + (ord($str[2]) << 16) + (ord($str[1]) << 8) + ord($str[0]); 

рд╣рдо 2 рдмрд┐рдЯ ("рдмреА" рдЕрдХреНрд╖рд░) рдХрд╛ рдореБрдЦреМрдЯрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ

 bit_get($mask, 2); 

рдмрд┐рдЯ рд╕реЗрдЯ рд╣реИ, рдЕрдм рд╣рдо рдирдХрд╛рдм рдореЗрдВ рдЙрдард╛рдП рдЧрдП рдмрд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ 2 рддрдХ рдЧрд┐рдирддреЗ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдиреЛрдб рдореЗрдВ "рдмрд┐рдЯ" рдЕрдХреНрд╖рд░ рднреА рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдмрд┐рдЯ рдЕрдХреНрд╖рд░ "рдмреА" рджреВрд╕рд░рд╛ рдмрд┐рдЯ рдЙрдард╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд▓рд┐рдВрдХ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдлрд╕реЗрдЯ рдЧрдгрдирд╛ рдХрд░реЗрдВ

 $offset = 6 + 3; 

6 рдмрд╛рдЗрдЯреНрд╕ рдорд╛рд╕реНрдХ + 3 рдмрд╛рдЗрдЯреНрд╕, рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓рд╛ рд▓рд┐рдВрдХ рд╣реЛрддрд╛ рд╣реИ, 9 рдмрд╛рдЗрдЯреНрд╕ рдирд┐рдХрд▓рддрд╛ рд╣реИред рд╣рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рд╡рд╛рдВрдЫрд┐рдд рдЯреБрдХрдбрд╝рд╛ рдкрдврд╝рддреЗ рд╣реИрдВред

 $str = substr($dic, $offset, 3); 

рд▓рд┐рдВрдХ рдЕрдирдкреИрдХ рдХрд░реЗрдВ:

 $ref = (ord($str[2]) << 16) + (ord($str[1]) << 8) + ord($str[0]); 

рдЕрдЧрд▓реЗ рдиреЛрдб рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рд╕рдм рдХреБрдЫ рджреЛрд╣рд░рд╛рдПрдВред рдЕрдВрддрд┐рдо рдкрддреНрд░ рдореЗрдВ, рд╣рдо рдореБрдЦреМрдЯрд╛ рдореЗрдВ 47 рдмрд┐рдЯреНрд╕ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдпрд╣ рд╕реЗрдЯ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рддреНрд░рд┐ рдореЗрдВ рдПрдХ рдЦреЛрдЬ рд╢рдмреНрдж рд╣реИред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдХрдо рд╕реЗ рдХрдо 50 рд╣рдЬрд╛рд░ рд╢рдмреНрджреЛрдВ рдХреА рдЧрддрд┐ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред

рдзрдиреНрдпрд╡рд╛рдж


рдореИрдВ рдордВрдЪ рдХреЗ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ nulled.cc рдФрд░ php.ru рдХреЛ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

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


All Articles