рдХреЛрд╣рдирд╛, рдЫрд╡рд┐ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдмрд╕ рд╣реИ

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

рдХрд┐рд╕реА рднреА "рдЧрдВрднреАрд░" рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреА рдХрдо рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди HOW TO рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ url рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╕рдордп рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдкреАрдврд╝реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдПрдХ рдорд╛рд░реНрдЧ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

Route::set('image_resize', 'image/resize/<width>x<height>(/<file>)', array('width' => '\d+', 'height' => '\d+', 'file' => '.+')) ->defaults(array( 'controller' => 'media', 'action' => 'resize', )); 

рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдореВрдирд╛ HTML рдХреЛрдб:

 <img src=тАЭ/image/resize/200x200/path_to_fileтАЭ > 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдорд╛рд░реНрдЧ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдзрд┐ Action_resize () рдХреЗ рд╕рд╛рде рдирд┐рдпрдВрддреНрд░рдХ_рдореАрдбрд┐рдпрд╛ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ, рд╣рдо рдЕрдиреБрд░реЛрдз рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЫрд╡рд┐ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ bootstrap.php рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

 //   $image = Image::factory($file) //   $image->resize($width, $height); //   $image->save($file_preview); 

рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╣рдореЗрдВ рд╣реЗрдбрд░ рдмрдирд╛рдиреЗ рдФрд░ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕реНрд╡рдпрдВ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 $this->response->body(file_get_contents($file_preview)); $this->response->headers('Content-Type', File::mime_by_ext($pathinfo['extension'])); $this->response->headers('Content-Length', filesize($file_preview)); $this->response->headers('Last-Modified', date('r', filemtime($file_preview))); 

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

рдпрд╣ рдореЙрдбреНрдпреВрд▓ url рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд┐рдВрдХ /imagefly/w100-h150-c/path/to/image.jpg , рдЫрд╡рд┐ рдХреЛ 100px рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ 150px рдХреА рдКрдВрдЪрд╛рдИ рддрдХ рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдкрд░рд┐рдгрд╛рдореА рдЫрд╡рд┐ рдХреА рдлрд╕рд▓ рдХреЛ рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рд▓рд┐рдП рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реИред ред рд╡реИрд╕реЗ, Imagefly рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рджрд┐рд▓рдЪрд╕реНрдк рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдХреИрд╢рд┐рдВрдЧ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдирд╣реАрдВ рдерд╛ред

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

рдФрд░ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдХрд┐рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?

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

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


All Articles