рд╕рд░рд▓ PHP рдХреЛрдб рдЗрдВрдЬреЗрдХреНрд╢рди рд╕реНрдХреИрдирд░

рдЖрдзреБрдирд┐рдХ рд╣реИрдХрд░реНрд╕ рд╢рд╛рдпрдж рд╣реА рдХрднреА "рджреЛрд╖рдкреВрд░реНрдг" рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рд╣реИрдХ рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдХреЛрдб рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред

рд╣рдорд▓реЗ рдХреЗ рдмрд╛рдж рдЖрдкрдиреЗ рдХрд┐рддрдиреА рдмрд╛рд░ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рдХреЛрдб рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдШрдВрдЯреЛрдВ рдмрд┐рддрд╛рдП?

рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдореИрдВ рдПрдХ рд╕рд╛рдЭрд╛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░ рд╕реНрдерд┐рдд рджрд╕ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдкреНрд░рд╢рд╛рд╕рди рд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рд╣реБрдЖ рдерд╛ред 2000-2003 рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП "рд╕реЗрдореА-рдбрд┐рдХрдореНрдкреЛрдЬрд╝рд┐рдВрдЧ" рдЗрдВрдЬрди рдкрд░ рд╕рд╛рдЗрдЯреЗрдВ рдШреВрдо рд░рд╣реА рдереАрдВред рд╕рд╛рдЗрдЯреЗрдВ рд▓рдЧрд╛рддрд╛рд░ "рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдХрд┐рдбрдиреА" рдХреЗ рдЭрдВрдЭрдЯ рдореЗрдВ рдкрдбрд╝рддреА рд╣реИрдВ рдФрд░ рдЬрдбрд╝ "рдореИрд▓рд╡реЗрдпрд░" рд╕реЗ рднрд░реА рд╣реЛрддреА рд╣реИрдВред рдореЗрд░реЗ рдХрд╛рд░реНрдп рддреБрдЪреНрдЫ рдереЗ: рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдХрд╛рдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирдП рдЗрдВрдЬрдиреЛрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдпрд╛ рдкреБрд░рд╛рдиреЗ рдЗрдВрдЬрдиреЛрдВ рдореЗрдВ рдкреИрдЪ рдЫреЗрджред

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

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

рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдХреИрдирд░ рдСрдкрд░реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдкрд░реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рд░рд▓ рд╣реИ, рдпрд╣ рд╕рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреБрди: рдЦреЛрдЬрддрд╛ рд╣реИ, рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕рдордп рдХреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрд╡рдзрд┐ рдореЗрдВ рдмрджрд▓ рдЧрдП рд╣реИрдВред рд╡рд╣ рд╕рдм рд╣реИ!

рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:
рд╕реНрдХреИрдВрдбрд┐рд░ ()
рд╕реНрдЯреЗрдЯ ()

рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рджреЛ рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
рд╕рдВрд╢реЛрдзрди рддрд┐рдерд┐
рдлрд╝рд╛рдЗрд▓ рдкрде

рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб:

function scan_tree ($folder, $period, $filter = NULL) { $files = scandir ($folder); //         foreach ($files as $file) { //          if (($file == '.') || ($file == '..') || (is_array ($filter) && in_array ($file, $filter))) continue; //   ,       $item = $folder.DIRECTORY_SEPARATOR.$file; //        if (is_dir ($item)) { //    - ,      scan_tree ($item, $period, $filter); } else { //    - ,      $stat_info = stat ($item); if (time () - $stat_info['mtime'] < $period) { //         ,       echo '<tr><td>'.date ("dm H:i", $stat_info[9]).'</td><td>'.$folder.DIRECTORY_SEPARATOR.$file.'</td></tr>'; } } } } 

рд╡рд┐рдиреНрдпрд╛рд╕

 if (!empty($_GET['days'])) $days = intval ($_GET['days']); else $days = 1; //   GET   $period = 86400 * $days; //      timestamp //$start_folder = 'D:\www\htdocs'; $start_folder = '/home/www/'; //     $filter = array ('cache', 'logs.old', 'logs'); //   ,      

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

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рди

 <table> <thead> <tr> <th title=" "></th> <th title=" ">  </th> </tr> </thead> <tbody> <?php scan_tree ($start_folder, $period, $filter); ?> </tbody> </table> 

рд╕рдВрднрд╡ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕реБрдзрд╛рд░

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

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, TableSorter рдкреНрд▓рдЧрдЗрди рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рдирд┐рдореНрди рддрд╛рд▓рд┐рдХрд╛ рдФрд░ рд╡рд░реНрдЧ рдХреЛ рд╣рдорд╛рд░реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред

 <table id="data_table" class="tablesorter"> 

рд╣рдорд╛рд░реЗ рдЯреЗрдмрд▓ рдкрд░ рдПрдХ рд╣реИрдВрдбрд▓рд░ рдмрд╛рдВрдзреЗрдВред

 $(document).ready(function () { $("#data_table").tablesorter(); } ); 

рдЖрдк рдИ-рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯ рднреЗрдЬрдиреЗ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд░реЛрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреИрдирд░ рд▓реЙрдиреНрдЪ рдХрд░рдХреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

TableSorter рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рд╕реНрдХреИрдирд░ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ



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

рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рд╢реБрднрдХрд╛рдордирд╛рдПрдБ!

рдЕрджреНрдпрддрди: рдЬреИрд╕рд╛ рдХрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдЙрд╕ рддрд╛рд░реАрдЦ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдкрд░реНрд╢ () рдХрдорд╛рдВрдб рдЖрдкрдХреЛ рддрд┐рдерд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

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

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


All Articles