✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Kujutise optimeerimine käsitööveebi / pildi optimeerija paketi abil

28

Juba 4 aastat olen seda blogi pidanud. Koos selle ajaveebiga juhin ka YouTube’i kanalit, kus jagan videoid, mis näitavad, kuidas oma artikleid rakendada.

Usun avatud lähtekoodiga. Oma veebisaidil ei paku ma tasulisi liikmesusi, ei müü e-raamatuid ega kursusi. Mulle meeldib hoida ressursse vabana. Seda silmas pidades lõin oma esimese GitHubi paketi artisansweb / image-optimizer, mis täidab teie veebisaidi jaoks piltide optimeerimise ülesannet.

Kirjutasin minevikus paar artiklit pildi optimeerimise kohta. Siiani oli TinyPNG minu lemmik ja ikka on. Kuid TinyPNG piirang on see, et need võimaldavad optimeerida 500 tasuta pilti kuus. Üle 500 pildi maksate iga pildi eest.

Vähesed eelmistest artiklitest pildi optimeerimise kohta:

Pakette on ka teisi, kuid need nõuavad, et installiksime oma masinasse tarkvara nagu JpegOptim, Optipng jne. See pole ka teostatav lahendus.

Viimasel aastal töötasin kliendi projektiga, mille tihendamiseks on vaja tuhandeid pilte. Otsisime avatud lähtekoodiga ja tõhusat teenust, mis suudaks meie tööd teha. Siis saime teada saidist reSmush.it, mis on täiesti tasuta teenus piltide optimeerimiseks.

Kuigi kirjutasin artikli saidile reSmush.it, tunnen, et suudan sellest GitHubi paketi luua ja tegin seda. Kui loete minu artiklit saidil reSmush.it, leiate, et see peab lisama umbes 25-30 koodirida. Kuid kui lähete pakendi järele, saab seda teha 5-6 rida.

Nagu öeldud, arutame artisansweb/image-optimizerpaketi installimise ja kasutamise üle .

Piltide optimeerimine PHP abil

Esmalt peate installima paketi Composeri abil, käivitades käsu:

composer require artisansweb/image-optimizer

Paketi installimisel saate pilti optimeerida, kasutades allolevat koodi.

<?php
require_once "vendor/autoload.php";
 
use ArtisansWebOptimizer;
 
$img = new Optimizer();
 
$source = 'SOURCE_PATH_OF_IMAGE';
$img->optimize($source);

Siin peate läbima kogu lähtepildi kataloogitee ja teie lähtekuva optimeeritakse automaatselt. Mõnikord peate säilitama originaalpildi ja salvestama optimeeritud versiooni teise kataloogi. Sel juhul saate sihtkoha jaoks kasutada teist parameetrit.

<?php
$source = 'SOURCE_PATH_OF_IMAGE';
$destination = 'DESTINATION_PATH_OF_IMAGE';
$img->optimize($source, $destination);

Ülaltoodud koodi abil saate oma kataloogis olevaid pilte optimeerida. Soovitaksin siiski üleslaaditud pilti optimeerida, et teil poleks vaja optimeerimisülesandeid eraldi täita.

Kasutaja saab üleslaadimisel olevat pilti optimeerida järgmiselt.

<?php
require_once "vendor/autoload.php";
 
use ArtisansWebOptimizer;
 
if (isset($_POST['submit'])) {
    $img = new Optimizer();
    move_uploaded_file($_FILES['file']['tmp_name'], 'images/'.$_FILES['file']['name']);
    $img->optimize('images/'.$_FILES['file']['name']);
}
?>
 
<form method="post" enctype="multipart/form-data">
    <input type="file" name="file" />
    <input type="submit" name="submit" value="Submit" />
</form>

Kuigi reSmush.it on siiani kokku pakkinud miljardeid pilte, võib nende teenus mingil põhjusel katki olla. Ma käsitlesin seda stsenaariumi pakendis. Mingil põhjusel, kui pakett ei saa reSmush.it-lt optimeeritud versiooni, kasutab ta tagavaravaruks optimeerimiseks PHP-i loomulikke meetodeid nagu imagecreatefromjpeg, imagecreatefrompng, imagecreatefromgif, imagejpeg.

Käimas on mitu uut funktsiooni, mille lisan paketti ja vabastan selle varsti.

Mul on hea meel, kui kasutate paketti ja annate mulle teada, kuidas see töötab, allpool olevas kommentaaride jaotises. Palun jagage oma tagasisidet, et saaksime koos seda paketti täiustada, mis aitab kogukonda.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem