...
✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Pakkaa kuvat verkkosivustolle käyttämällä reSmush.it-ohjelmaa PHP: ssä

25

Lähetetty PHP

Kuvat tekevät verkkosivustostasi kauniin ja lisäävät vierailijoille parempaa käyttökokemusta. Kuvat voivat kuitenkin vaikuttaa myös sivuston suorituskykyyn ja tekevät sivustosi nopeudesta mielettömän hidasta. Ja me kaikki tiedämme, että hitaammat verkkosivustot eivät voi menestyä Internetissä.

Tässä artikkelissa näytetään, kuinka pakataan kuvia verkkosivustoille käyttämällä reSmush.it-ohjelmaa PHP: ssä. Tämän palvelun käyttäjät voivat pienentää verkkosivuston kuvien kokoa. Se auttaa parantamaan sivun nopeutta. ReSmush.it on ilmainen kuvakompressorityökalu. Käyttäjä voi pakata niin monta kuvaa kuin haluaa. Kuvien lukumäärälle ei ole tällaista rajoitusta.

Tämän artikkelin kirjoittamisen aikana reSmush.it pakkaa toistaiseksi yli 7 miljardia kuvaa ja laskee edelleen. Tämä numero osoittaa, että se on melko suosittu palvelu käyttäjien keskuudessa.

Päästä alkuun

Luodaan yksinkertainen lomake, johon käyttäjä voi ladata kuvan. Kun lähetät kuvan, PHP: n avulla lähetämme kuvan reSmush.it-palveluihin ja saamme kuvan optimoidun version.

<form method="post" enctype="multipart/form-data">
    <p><input type="file" name="image" accept="image/*" /></p>
    <input type="submit" name="submit" value="Submit">
</form>

Täällä lisäsimme tiedoston syöttö- ja lähetyspainikkeen. Käytimme myös määritettä, accept="image/*"jonka avulla voit valita vain kuvatiedostot.

Pakkaa kuvat verkkosivustolle PHP: ssä

Nyt meidän on oltava vuorovaikutuksessa reSmush.it-sovellusliittymän kanssa. Aiomme kirjoittaa koodin, joka suorittaa seuraavat vaiheet.

  • Lähetä kuva palvelimellemme.
  • Lähetä ladattu kuva reSmush.it-sovellusliittymän päätepisteeseen.
  • Vastaanottaa optimoidun kuvan polun.
  • Säilytä tämä optimoitu versio palvelimellamme korvaamalla alkuperäinen kuva.

Ennen kuin jatkat, varmista, että olet ottanut cURL-laajennuksen käyttöön palvelimellasi.

<?php
if (isset($_POST['submit'])) {
  
    //allowed file types
    $arr_file_types = ['image/png', 'image/gif', 'image/jpg', 'image/jpeg'];
  
    if (!(in_array($_FILES['image']['type'], $arr_file_types))) {
  
        die('Only image is allowed!');
    }
  
    if (!file_exists('uploads')) {
        mkdir('uploads', 0777);
    }
  
    move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/'. $_FILES['image']['name']);
  
    // optimize image using reSmush.it
    $file = getcwd(). '/uploads/'. $_FILES['image']['name'];
    $mime = mime_content_type($file);
    $info = pathinfo($file);
    $name = $info['basename'];
    $output = new CURLFile($file, $mime, $name);
    $data = array(
        "files" => $output,
    );
  
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://api.resmush.it/?qlty=80');
    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = curl_exec($ch);
    if (curl_errno($ch)) {
       $result = curl_error($ch);
    }
    curl_close ($ch);
  
    $arr_result = json_decode($result);
  
    // store the optimized version of the image
    $ch = curl_init($arr_result->dest);
    $fp = fopen(getcwd(). '/uploads/'. $name, 'wb');
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
  
    echo "File uploaded successfully.";
}
?>

Yllä olevassa koodissa asetin suositellun laatuarvoksi 80. Voit säätää tämän numeron suuremmaksi tai pienemmäksi. Tallennamme kuvia uploadshakemistoon. Sinun tapauksessasi voit säätää tätä hakemistoa.

Toivon, että ymmärrät kuinka pakata kuvia verkkosivustolle PHP: ssä käyttämällä reSmush.it-tiedostoa. Haluaisin kuulla ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.

Aiheeseen liittyvät artikkelit

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja