{"id":26229,"date":"2021-06-13T17:18:00","date_gmt":"2021-06-13T14:18:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26229"},"modified":"2021-10-17T18:18:18","modified_gmt":"2021-10-17T15:18:18","slug":"php-s-saate-pildi-suurust-muuta-kasutades-sekkumispiltide-kogu","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/et\/php-s-saate-pildi-suurust-muuta-kasutades-sekkumispiltide-kogu\/","title":{"rendered":"PHP-s saate pildi suurust muuta, kasutades sekkumispiltide kogu"},"content":{"rendered":"<p>Kas otsite, kuidas muuta PHP-s piltide suurust? Veebirakenduses t\u00f6\u00f6tades peame looma originaalpildi erinevad pisipiltide versioonid. Pisipilt on teie algse pildi suurusega versioon. Selles artiklis uurime, kuidas pilte PHP-s \u00fcles laadida ja suurust muuta.<\/p>\n<h3>Miks peaksime piltide suurust muutma?<\/h3>\n<p>Veebisaidil on mitu stsenaariumi, kus peame kuvama suure pildi l\u00fchikese versiooni. Populaarne n\u00e4ide on pildigalerii. Galeriis n\u00e4itasime varem v\u00e4ikeste piltide loendit. Kui kasutaja kl\u00f5psab v\u00e4ikesel pildil, avaneb see h\u00fcpikaknas suur pilt. Teine n\u00e4ide on seotud artiklite kuvamine, kus n\u00e4itame v\u00e4ikseid pilte koos postituse pealkirja ja kirjeldusega.<\/p>\n<p>Nendes stsenaariumides peame genereerima v\u00e4ikese pildi (pisipildi), kasutades meie algset pilti. V\u00e4ike pisipilt v\u00e4hendab teie lehtede suurust. Kuna kasutate v\u00e4ikest pisipilti, n\u00f5uab brauser pildi laadimiseks v\u00e4ikest ribalaiust. See lisab veebisaidile m\u00f5ningaid eeliseid. M\u00f5ned neist on:<\/p>\n<ul>\n<li>Parandab serveri j\u00f5udlust<\/li>\n<li>V\u00e4hendage ribalaiust<\/li>\n<li>Parandage lehe kiirust<\/li>\n<\/ul>\n<p>Nagu \u00f6eldud, vaatame, kuidas pilti PHP-s muuta.<\/p>\n<h3>Alustamine<\/h3>\n<p><a href=\"http:\/\/image.intervention.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Sekkumispilt<\/a> on avatud l\u00e4htekoodiga teek, mis toimib pildi suuruse muutmise t\u00f6\u00f6riistana. Kapoti all kasutab Intervention Image piltide t\u00f6\u00f6tlemiseks ja manipuleerimiseks GD Library ja Imagick.<\/p>\n<p>Alustamiseks peate rakendusse installima sekkumispildi teegi. Teegi installimiseks soovitan kasutada <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composerit<\/a>.<\/p>\n<p>Avage oma projekti juurkataloogis terminal ja k\u00e4ivitage allolev k\u00e4sk.<\/p>\n<pre><code>composer require intervention\/image<\/code><\/pre>\n<p>P\u00e4rast teegi installimist peate oma rakenduse lisama selle keskkonna. Selleks lisage PHP-faili alla kaks rida.<\/p>\n<pre><code>&lt;?php\n\/\/ include composer autoload\nrequire 'vendor\/autoload.php';\n\u00a0\u00a0\nuse InterventionImageImageManagerStatic as Image;<\/code><\/pre>\n<p>Pildi \u00fcleslaadimiseks ja suuruse muutmiseks vajame vormi, kus saab pilti sirvida ja vajutada nuppu Esita. Kasutage allolevat HTML-i, mis sisaldab failisisestust ja nuppu Esita.<\/p>\n<pre><code>&lt;form method=\"post\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"file\" name=\"image\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\"&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<h3>PHP-s saate pildi suurust muuta, kasutades sekkumispilti<\/h3>\n<p>Oleme installinud raamatukogu ja loonud vormi. J\u00e4rgmisena peame pildi lennult \u00fcles laadima ja selle suurust muutma. Kavatsen luua kaks kataloogi <code>uploads<\/code>ja <code>thumbnails<\/code>. Kui <code>uploads<\/code>kausta, me salvestada originaal pilt. Kujutise pisipildiversioon salvestatakse <code>thumbnails<\/code>kataloogi.<\/p>\n<p>Kasutage allolevat koodi, mis salvestab pildi algse ja pisipildi versiooni kataloogidesse <code>uploads<\/code>ja <code>thumbnails<\/code>kataloogidesse.<\/p>\n<pre><code>&lt;?php\nrequire 'vendor\/autoload.php';\n\u00a0\u00a0\nuse InterventionImageImageManagerStatic as Image;\n\u00a0\n$allowed_mime_type = array('image\/jpg', 'image\/jpeg', 'image\/png', 'image\/gif');\n\u00a0\nif (isset($_POST['submit'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if (in_array($_FILES['image']['type'], $allowed_mime_type)) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (!file_exists('uploads')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mkdir('uploads', 0755);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filename = time().'_'.$_FILES['image']['name'];\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filepath = 'uploads\/'. $filename;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0move_uploaded_file($_FILES['image']['tmp_name'], $filepath);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (!file_exists('uploads\/thumbnails')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mkdir('uploads\/thumbnails', 0755);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$thumbnailpath = 'uploads\/thumbnails\/'. $filename;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img = Image::make($filepath);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img-&gt;resize(300, null, function ($constraint) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$constraint-&gt;aspectRatio();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img-&gt;save($thumbnailpath);\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>\u00dclaltoodud koodis andsin laiuseks 300 ja muutsin pildi suurust, s\u00e4ilitades nende kuvasuhte. Laiuse v\u00e4\u00e4rtuse saate edastada vastavalt oma n\u00f5udele. Kujutise suuruse muutmisel on soovitatav hoida kuvasuhet. Kuvasuhet kasutades pilt ei venita. Kui otsite k\u00f5va saaki, siis asendage allpool olevad read<\/p>\n<pre><code>$img-&gt;resize(300, null, function ($constraint) {\n\u00a0\u00a0\u00a0\u00a0$constraint-&gt;aspectRatio();\n});<\/code><\/pre>\n<p>Koos<\/p>\n<pre><code>$img-&gt;resize(300, 150)-&gt;save($thumbnailpath);<\/code><\/pre>\n<h3>J\u00e4reldus<\/h3>\n<p>Selles \u00f5petuses uurisime, kuidas muuta piltide suurust, s\u00e4ilitades nende kuvasuhte. Kirjutasime ka koodi, mis k\u00e4rbib pilti k\u00f5vasti. Sekkumise pildikogu pakub <code>resize<\/code>meetodile veel m\u00f5ned v\u00f5imalused. V\u00f5ite selle kohta rohkem lugeda nende <a href=\"http:\/\/image.intervention.io\/api\/resize\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">dokumentatsioonist<\/a>.<\/p>\n<h4>seotud artiklid<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/laraveli-pildi-suuruse-muutmine-kasutades-sekkumise-pildikogu\/\" title=\"Laraveli pildi suuruse muutmine, kasutades sekkumise pildikogu\">Laraveli pildi suuruse muutmine, kasutades sekkumise pildikogu<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/php-s-saate-pildi-suurust-muuta-kasutades-tinypng-d\/\" title=\"PHP-s saate pildi suurust muuta, kasutades TinyPNG-d\">PHP-s saate pildi suurust muuta, kasutades TinyPNG-d<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/pukseerige-faili-uleslaadimine-javascripti-ja-php-abil\/\" title=\"Pukseerige faili \u00fcleslaadimine JavaScripti ja PHP abil\">Pukseerige faili \u00fcleslaadimine JavaScripti ja PHP abil<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Selles artiklis uurime, kuidas PHP-s piltide suurust muuta, kasutades Intervention Image Library-d. Pisipildiversiooni kasutamine v\u00e4hendab veebilehe suurust<\/p>\n","protected":false},"author":1,"featured_media":21621,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[274],"tags":[842],"class_list":["post-26229","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-5","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/26229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/comments?post=26229"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/26229\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media\/21621"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media?parent=26229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/categories?post=26229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/tags?post=26229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}