рд╕реНрд╡рдпрдВ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╕реЗрд╡рд╛

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



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



рд╕рдордп рдмреАрдд рдЧрдпрд╛, рдкрд░рд┐рдпреЛрдЬрдирд╛ "рдзреВрд▓ рд╕реЗ рдврдВрдХ рдЧрдИ", рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдХреЛрдИ рд╕рдордп рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдПрдХ рдирдИ "рд░рдЪрдирд╛рддреНрдордХрддрд╛ рдХреА рд▓рд╣рд░" рд╕рд╛рдордиреЗ рдЖрдИ рдФрд░ рдореИрдВ "рдСрдЯреЛрд╕рд░реНрд╕реНрд╕реЗрд╡рд░ рд╕рдорд╕реНрдпрд╛" рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред



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



рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдиреА рдЦреБрдж рдХреА "рдмрд╛рдЗрдХ" рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред



рдЙрдкрдХрд░рдг рдЪрдпрди



рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдвреВрдВрдврдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдЬреЛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ (рд╕рд╛рдЗрдЯ рдореЗрд░реЗ ubuntu рд╕рд░реНрд╡рд░ рдкрд░ рдШреВрдо рд░рд╣реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рдПрдХреНрд╕ рдирд╣реАрдВ рд╣реИ)ред рдПрдХ рдХрд╛рдо рдХреЗ рд╕рд╣рдпреЛрдЧреА рдиреЗ рдореБрдЭреЗ CutyCapt рд╕реЗ рдЬреЛрдбрд╝рдХрд░ рдорджрдж рдХреАред



CutyCapt рдПрдХ рдЫреЛрдЯрд╛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЙрдкрдпреЛрдЧрд┐рддрд╛ (рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ) рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдмрдирд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╡реЗрдХреНрдЯрд░ рдФрд░ рд░реЗрдЦрд╛рдкреБрдВрдЬ рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЬрд┐рд╕рдореЗрдВ SVG, PDF, PS, PNG, JPEG, TIFF, GIF, BM P (рдореВрд▓ рд╡рд┐рд╡рд░рдг рдХрд╛ рдЕрдиреБрд╡рд╛рдж) рд╢рд╛рдорд┐рд▓ рд╣реИред рдХреЗред рд╕рд╛рдЗрдЯ)ред



рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ рд╕реЗ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рди рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП , рдореИрдВ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд░реНрдгрд┐рдд рд╣реИ: рд╕реНрдерд╛рдкрдирд╛, рдирд┐рд░реНрднрд░рддрд╛, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкреИрд░рд╛рдореАрдЯрд░, рдПрдХ рдЙрджрд╛рд╣рд░рдг, рд╕рд╛рде рд╣реА рдПрдХреНрд╕ рд╕рд░реНрд╡рд░ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рд╡рд┐рдзрд┐ (xvfb- рд░рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ)ред



рдХреЛрдбрд┐рдВрдЧ



рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдЯреВрд▓ рдкрд░ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реИред рд╡рд╛рдкрд╕ рд╕рд╛рдЗрдЯ рдкрд░ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рджреЗрдЦрд╛: рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рдкрд╛рд╕ рд╡рд┐рд╡рд░рдг рдкреГрд╖реНрда рдкрд░ рдПрдХ "рдЯреЗрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ" рдмрдЯрди рд╣реИ, рдЬреЛ рдПрдХ AJAX рдЕрдиреБрд░реЛрдз рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдЪрд┐рддреНрд░ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд░рддрд╛ рд╣реИ (рдЖрдХрд╛рд░ / рдлрд╕рд▓ / рд╕реНрдХреЗрдЪ), рдЖрджрд┐ред

рдЬрд▓реНрджреА рд╕реЗ рдирд╣реАрдВ рдХрд╣рд╛ред рдореИрдВ рдЕрдкрдиреА PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдХреЛрдб рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рджреВрдВрдЧрд╛ (рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдЫреЛрдбрд╝рдХрд░):



<?PHP //  -    URL ,     //      (  id),   - $url = 'http://habrahabr.ru'; // ""   //       $tmpfname = tempnam('/tmp', 'catalog') . '.jpg'; //       $url = escapeshellarg($url); //    //    CutyCapt    .  , url   ,    -    //  "xvfb-run"    $cmd = sprintf('xvfb-run --server-args="-screen 0, 1024x768x24" //C//CutyCapt --min-width=1280 --url=%s --out=\'%s\'', $url, $tmpfname); //  exec($cmd); // ,    if (file_exists($tmpfname)) { // ,    0  (    ) if (filesize($tmpfname) > 1) { //         $tmpfname ,    //      ,  ,    ,   ..... // , ,  phpthumb (phpthumb.gxdlabs.com)   $f = date("ymd_his", time()).".jpg"; //    if (copy($tmpfname, IMAGES_DIR.$f)) { if (file_exists(IMAGES_DIR.$f)) { try{ $thumb = PhpThumbFactory::create(IMAGES_DIR.$f); //  jpg $thumb->setOptions( array('jpegQuality' => 90) ); //   $thumb->resize(800); //    800x800px $thumb->crop(0, 0, 800, 800); $thumb->save(IMAGES_DIR.$f); //  $thumb->resize(200)->crop(0,0,200,150); $thumb->save(IMAGES_DIR.'t_'.$f); } catch(exception $e) { //  ... } //       ,  . } } } //    unlink($tmpfname); } //       json -   /   ?>
      
      





рдЕрд░реЗ рд╣рд╛рдБ, рдореИрдВ "рдиреБрдХрд╕рд╛рди" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:

  1. рдХрднреА-рдХрднреА рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреНрдпреВрдЯрдХреИрдк рдХреА рд╕реНрдХреНрд░реАрдирд┐рдВрдЧ рдХреА рдЧрдИ, рд▓реЗрдХрд┐рди рдЙрд╕рдиреЗ рдЕрдкрдирд╛ рдХрд╛рдо рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛;
  2. рдХрднреА-рдХрднреА рдореИрдВрдиреЗ 0-рдмрд╛рдЗрдЯ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдмрдирд╛рдП
  3. рдХрднреА-рдХрднреА рдХреБрдЫ рдлреНрд▓реИрд╢-рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛ред рдореБрдЭреЗ рдЙрдирдХрд╛ рдмрд▓рд┐рджрд╛рди рдХрд░рдирд╛ рдерд╛ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдлреНрд▓реИрд╢-рдкреНрд▓рдЧрдЗрди рдХреЛ рд╣рдЯрд╛ рджреЗрдирд╛ рдерд╛ред рдЕрдм рдпрд╣ рдлреНрд▓реИрд╢ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдкрд░ рдмрд╕ рдЦрд╛рд▓реА рд╣реИ, рд▓реЗрдХрд┐рди рдлреНрд▓реИрд╢ рдХреЗ рдХрд╛рд░рдг рдЕрдзрд┐рдХ рдХреНрд░реИрд╢ рдирд╣реАрдВ рд╣реИрдВред




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

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ CutyCapt

PHP.net



PS рдЕрдЧрд░ рдпрд╣ рдХрд┐рд╕реА рдХреЛ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХреНрдпреВрдЯрдХреИрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд▓рд┐рдЦрд╛ рд╣реИ, рддреЛ рдХрд╣рд┐рдП - рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкреВрд░рдХ рдХрд░реВрдВрдЧрд╛ (рдпрд╣ рд╕рд┐рд░реНрдл рдореБрдЭреЗ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ рдкрд░ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╣реИ)



All Articles