{"id":24412,"date":"2021-05-18T16:07:00","date_gmt":"2021-05-18T13:07:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24412"},"modified":"2021-10-17T20:51:53","modified_gmt":"2021-10-17T17:51:53","slug":"kuvan-optimointi-artisansweb-image-optimizer-paketilla","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/kuvan-optimointi-artisansweb-image-optimizer-paketilla\/","title":{"rendered":"Kuvan optimointi artisansweb \/ image-optimizer -paketilla"},"content":{"rendered":"<p>Nyt on kulunut 4 vuotta, ja pid\u00e4n t\u00e4t\u00e4 blogia. T\u00e4m\u00e4n blogin ohella k\u00e4yt\u00e4n my\u00f6s <a href=\"https:\/\/www.youtube.com\/channel\/UCosi8Kv8-EPLt5TBJLlsWJA\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">YouTube-kanavaa,<\/a> jossa jaan videoita, jotka osoittavat artikkeleideni toteuttamisen.<\/p>\n<p>Uskon avoimeen l\u00e4hdekoodiin. En omista verkkosivustollani mit\u00e4\u00e4n maksettua j\u00e4senyytt\u00e4, myyd\u00e4 e-kirjoja tai kursseja. Haluan pit\u00e4\u00e4 resurssit vapaina. T\u00e4ss\u00e4 mieless\u00e4 olen luonut ensimm\u00e4isen GitHub-pakettini <a href=\"https:\/\/github.com\/artisansweb\/image-optimizer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">artisansweb \/ image-optimizer,<\/a> joka hoitaa kuvien optimoinnin verkkosivustollesi.<\/p>\n<p>Kirjoitin muutaman artikkelin kuvien optimoinnista aiemmin. Toistaiseksi TinyPNG oli suosikkini ja silti. Mutta TinyPNG: n rajoitus on, ett\u00e4 ne mahdollistavat 500 ilmaisen kuvan optimoinnin kuukaudessa. Yli 500 kuvan kohdalla lataat kuvaa kohti.<\/p>\n<p>Muutama edellinen artikkeli kuvan optimoinnista:<\/p>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/lataa-ja-pakkaa-useita-kuvia-php-ssa\/\" title=\"Lataa ja pakkaa useita kuvia PHP: ss\u00e4\">Lataa ja pakkaa useita kuvia PHP: ss\u00e4<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-optimoida-kuvan-lataaminen-php-ssa\/\" title=\"Kuinka optimoida kuvan lataaminen PHP: ss\u00e4\">Kuinka optimoida kuvan lataaminen PHP: ss\u00e4<\/a><\/li>\n<\/ul>\n<p>My\u00f6s muita paketteja on, mutta ne edellytt\u00e4v\u00e4t, ett\u00e4 asennamme koneellemme ohjelmistot, kuten JpegOptim, Optipng jne. Se ei my\u00f6sk\u00e4\u00e4n ole toteutettavissa oleva ratkaisu.<\/p>\n<p>Viime vuonna ty\u00f6skentelin asiakkaan projektissa, jonka pakkaamiseen tarvitaan tuhansia kuvia. Etsimme avointa l\u00e4hdekoodia ja tehokasta palvelua, joka voi tehd\u00e4 ty\u00f6mme. Sitten saimme tiet\u00e4\u00e4 <a href=\"http:\/\/resmush.it\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">reSmush.it-sivustosta,<\/a> joka on t\u00e4ysin ilmainen palvelu kuvien optimoimiseksi.<\/p>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/pakkaa-kuvat-verkkosivustolle-kayttamalla-resmush-it-ohjelmaa-php-ssa\/\" title=\"Pakkaa kuvat verkkosivustolle k\u00e4ytt\u00e4m\u00e4ll\u00e4 reSmush.it-ohjelmaa PHP: ss\u00e4\">Pakkaa kuvat verkkosivustolle k\u00e4ytt\u00e4m\u00e4ll\u00e4 reSmush.it-ohjelmaa PHP: ss\u00e4<\/a><\/li>\n<\/ul>\n<p>Vaikka kirjoitin artikkelin reSmush.it -sivustolta, tunnen voivani luoda siit\u00e4 <a href=\"https:\/\/github.com\/artisansweb\/image-optimizer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GitHub-paketin<\/a> ja tein niin. Jos luet artikkelini reSmush.it -sivustolla, huomaat, ett\u00e4 sen on lis\u00e4tt\u00e4v\u00e4 noin 25-30 koodirivi\u00e4. Mutta jos valitset paketin, se voidaan tehd\u00e4 5-6 rivill\u00e4.<\/p>\n<p>Siit\u00e4 huolimatta keskustellaan <code>artisansweb\/image-optimizer<\/code>paketin asentamisesta ja k\u00e4yt\u00f6st\u00e4 .<\/p>\n<h3>Kuvan optimointi PHP: ll\u00e4<\/h3>\n<p>Aluksi sinun on asennettava paketti Composerin avulla suorittamalla komento:<\/p>\n<pre><code>composer require artisansweb\/image-optimizer<\/code><\/pre>\n<p>Paketin asennuksen j\u00e4lkeen voit optimoida kuvan alla olevan koodin avulla.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\nuse ArtisansWebOptimizer;\n\u00a0\n$img = new Optimizer();\n\u00a0\n$source = 'SOURCE_PATH_OF_IMAGE';\n$img-&gt;optimize($source);<\/code><\/pre>\n<p>T\u00e4ss\u00e4 sinun on l\u00e4p\u00e4ist\u00e4v\u00e4 l\u00e4hdekuvan koko hakemistopolku, ja l\u00e4hdekuvasi optimoidaan automaattisesti. Joskus sinun on pidett\u00e4v\u00e4 alkuper\u00e4inen kuva ja tallennettava optimoitu versio toiseen hakemistoon. Siin\u00e4 tapauksessa voit k\u00e4ytt\u00e4\u00e4 toista parametria m\u00e4\u00e4r\u00e4np\u00e4\u00e4h\u00e4n.<\/p>\n<pre><code>&lt;?php\n$source = 'SOURCE_PATH_OF_IMAGE';\n$destination = 'DESTINATION_PATH_OF_IMAGE';\n$img-&gt;optimize($source, $destination);<\/code><\/pre>\n<p>Yll\u00e4 olevaa koodia k\u00e4ytt\u00e4m\u00e4ll\u00e4 voit optimoida kuvasi, jotka ovat hakemistossasi. Suosittelen kuitenkin lataamaan kuvan optimointia, jotta sinun ei tarvitse suorittaa optimointiteht\u00e4vi\u00e4 erikseen.<\/p>\n<p>K\u00e4ytt\u00e4j\u00e4 voi optimoida lataamansa kuvan seuraavasti.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\nuse ArtisansWebOptimizer;\n\u00a0\nif (isset($_POST['submit'])) {\n\u00a0\u00a0\u00a0\u00a0$img = new Optimizer();\n\u00a0\u00a0\u00a0\u00a0move_uploaded_file($_FILES['file']['tmp_name'], 'images\/'.$_FILES['file']['name']);\n\u00a0\u00a0\u00a0\u00a0$img-&gt;optimize('images\/'.$_FILES['file']['name']);\n}\n?&gt;\n\u00a0\n&lt;form method=\"post\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"file\" name=\"file\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\" \/&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Vaikka reSmush.it ovat toistaiseksi pakanneet miljardeja kuvia, voi olla mahdollista, ett\u00e4 heid\u00e4n palvelunsa on jostain syyst\u00e4 poissa k\u00e4yt\u00f6st\u00e4. K\u00e4sittelin t\u00e4m\u00e4n skenaarion paketissa. Jostain syyst\u00e4, jos paketti ei saa optimoitua versiota reSmush.it: lt\u00e4, se k\u00e4ytt\u00e4\u00e4 varalla optimointiin PHP: n natiivimenetelmi\u00e4, kuten imagecreatefromjpeg, imagecreatefrompng, imagecreatefromgif, imagejpeg.<\/p>\n<p>K\u00e4ynniss\u00e4 on useita uusia ominaisuuksia, jotka lis\u00e4t\u00e4\u00e4n pakettiin ja julkaisen sen pian.<\/p>\n<p>Olen iloinen, jos k\u00e4yt\u00e4t pakettia ja kerro minulle, miten se toimii alla olevassa kommenttiosassa. Jaa palautteesi, jotta voimme yhdess\u00e4 parantaa t\u00e4t\u00e4 pakettia, joka auttaa yhteis\u00f6\u00e4.<\/p>\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>T\u00e4ss\u00e4 artikkelissa n\u00e4yt\u00e4n, kuinka kuvan optimointiteht\u00e4v\u00e4 suoritetaan PHP: ss\u00e4 artisansweb \/ image-optimizer GitHub -paketilla. T\u00e4t\u00e4 pakettia ei tarvita<\/p>\n","protected":false},"author":1,"featured_media":20571,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[275],"tags":[843],"class_list":["post-24412","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-6","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24412","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=24412"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24412\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/20571"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=24412"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=24412"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=24412"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}