рдЗрдореЗрдЬ рд╕реЗрд╡ рдкреНрд░реЛрдЯреЗрдХреНрд╢рди

рдЫрд╡рд┐
рдирдорд╕реНрдХрд╛рд░ рдкреНрд░рд┐рдп рд╣рд░рд░рд╛рдмреБрдЪреЗрдЯреЗрд▓реАред
рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рдо рдерд╛ред рдЯрд╛рд╕реНрдХ рдХрд╛ рд╕рд╛рд░ рдпрд╣ рдерд╛ рдХрд┐ рд╕рд╛рдЗрдЯ рдХреЗ рдкреГрд╖реНрдареЛрдВ рд╕реЗ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЪрд┐рддреНрд░ рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рдХреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

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


<div id="img" style="width: 220px; height: 130px; background-image: url(http://example.ru/img/Habrahabr_logo.png);"></div> 

рд▓реЗрдХрд┐рди рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдирд┐рд╢реНрдЪрд┐рдд рдмреНрд▓реЙрдХ рдЖрдХрд╛рд░, рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдХрд╛рд░ рдХреЛрдИ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред PHP рдФрд░ getimagesize () рдлрд╝рдВрдХреНрд╢рди рдпрд╣рд╛рдВ рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддреЗ рд╣реИрдВред
 $size = getimagesize(ROOT."/img/Habrahabr_logo.png "); $html = "<div id=\"img\" style=\"width: {$size[0]}px; height: {$size[1]}px; background-image: url(http://example.ru/img/Habrahabr_logo.png);\"></div>"; echo $html; 

рдХрд╛рд░реНрдп рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреГрд╖реНрда рдХреЛрдб рдореЗрдВ рдЗрд╕ рдЫрд╡рд┐ рдХрд╛ рдПрдХ рд╕реАрдзрд╛ рд▓рд┐рдВрдХ рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдЖрдк рдмрд╕ рдЫрд╡рд┐ рдХреЗ рдкрддреЗ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдкрддрд╛ рдмрд╛рд░ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдЙрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдЫрд╡рд┐ рджреЗрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рд░реЗрдлрд░ рд╣реЗрдбрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдпрд╣ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИ рдпрд╛ example.ru рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрдВред рдпрд╣рд╛рдВ рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЫрд╡рд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЧрдИ рдереАред рдкреНрд░рддреНрдпреЗрдХ рдЫрд╡рд┐ рдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (image.php):
 <?php define("ROOT", dirname(__FILE__)); include_once ROOT."/images_db.php"; if (isset($_SERVER['HTTP_REFERER']) && eregi("example.ru", $_SERVER['HTTP_REFERER'])) { $img_path = ROOT."/img/".$images[intval($_GET['id'])]['file_name']; switch ($images[intval($_GET['id'])]['file_ext']) { case "png": $image = imagecreatefrompng($img_path); header("Content-Type: image/png"); imagepng($image); break; case "jpg": $image = imagecreatefromjpeg($img_path); header("Content-Type: image/jpeg"); imagejpeg($image); break; case "gif": $image = imagecreatefromgif($img_path); header("Content-Type: image/gif"); imagegif($image); break; } } else { $img_path = ROOT."/img/no_image.jpg"; $image = imagecreatefromjpeg($img_path); header("Content-Type: image/jpeg"); imagejpeg($image); break; } @imagedestroy($image); ?> 

Images_db.php рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
 <?php $images = array("123" => array("file_name" => "Habrahabr_logo.png", "file_ext" => "png", "file_id" => "123"), "124" => array("file_name" => "php-logo1.jpg", "file_ext" => "jpg", "file_id" => "124"), "125" => array("file_name" => "google-logo.gif", "file_ext" => "gif", "file_id" => "125")); ?> 

рдХреЛрдб рдореЗрдВ рдЫрд╡рд┐ рдХреЗ рд╕реАрдзреЗ рд▓рд┐рдВрдХ рдХреЛ рдмрджрд▓реЗрдВ рдФрд░ index.php рдлрд╝рд╛рдЗрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:
 <?php define("ROOT", dirname(__FILE__)); include_once ROOT."/images_db.php"; $html = ""; foreach($images as $im) { $size = getimagesize(ROOT."/img/".$im['file_name']); $html .= "<div id=\"img{$im['file_id']}\" title=\"File name: {$im['file_name']}, File width: {$size[0]}px, File height: {$size[1]}px\" style=\"width: {$size[0]}px; height: {$size[1]}px; background-image: url(http://example.ru/image.php?id={$im['file_id']});\"></div>\r\n"; } echo $html; ?> 

рдЕрдм, рдЬрдм рд╣рдо рд╕реАрдзреЗ example.ru/image.php?id=123 рдкрддреЗ рдкрд░ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рдЪрд┐рддреНрд░ no_image.jpg рдорд┐рд▓рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд░реЗрдлрд╝рд░ рд╣реЗрдбрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

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

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХрдо рд╕реЗ рдХрдо рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреАред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдирдореВрдирд╛ рд╕реНрд░реЛрддреЛрдВ

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


All Articles