Kuvan koon pakkaaminen ladattaessa PHP: llä

Laadukkaiden kuvien lataaminen verkkosivulle vie aikaa kuvien määrästä riippuen.

voit luoda kuvatiedostoon useita kokoja ladattaessa ja käyttää matalia ja laadukkaita kuvia tarvittaessa.

pienennettäessä kuvakokoa myös sen laatu heikkenee.

paras esimerkki tästä on WordPress, aina kun kuvatiedosto Ladataan niin se tuottaa eri-eri kokoinen tiedosto. Nämä kuvat käytetään teeman mukaan vaatimus.

tässä opetusohjelmassa näytän, miten voit pakata kuvan kokoa ladattaessa PHP: llä.

 kuinka pakata kuvan kokoa ladatessa PHP: llä

sisältö

  1. HTML
  2. PHP
  3. johtopäätös

1. HTML

luo <input type='file'> Elementti <form> ja Lähetä painike.

Täytetty Koodi

<form method='post' action='' enctype='multipart/form-data'> <input type='file' name='imagefile' > <input type='submit' value='Upload' name='upload'> </form>

2. PHP

luo images – kansio kuvatiedostojen tallentamiseen.

oma funktio

luo compressImage() funktio JPEG -, PNG-ja GIF-kuvien pakkaamiseen.

funktio vaatii 3 parametria –
1. Lähde
2. Määräpaikka
3. Tiedoston laatu

Soita imagecreatefromjpeg($source), imagecreatefromgif($source) ja imagecreatefrompng($source) luodaksesi uuden kuvan $info arvon mukaan.

Suorita imagejpeg() menetelmä kuvan tallentamiseksi kohteeseen. Tässä kolmas parametri quality on valinnainen. Se vie arvon 0 – 100 ja oletusarvo on 75.

form submit

Set location to images directory and check file extension. Jos se on voimassa, kutsu compressImage() funktio, jossa läpäisevät $_FILES,$location ja 60.

Täytetty Koodi

<?phpif(isset($_POST)){ // Getting file name $filename = $_FILES; // Valid extension $valid_ext = array('png','jpeg','jpg'); // Location $location = "images/".$filename; // file extension $file_extension = pathinfo($location, PATHINFO_EXTENSION); $file_extension = strtolower($file_extension); // Check extension if(in_array($file_extension,$valid_ext)){ // Compress Image compressImage($_FILES,$location,60); }else{ echo "Invalid file type."; }}// Compress imagefunction compressImage($source, $destination, $quality) { $info = getimagesize($source); if ($info == 'image/jpeg') $image = imagecreatefromjpeg($source); elseif ($info == 'image/gif') $image = imagecreatefromgif($source); elseif ($info == 'image/png') $image = imagecreatefrompng($source); imagejpeg($image, $destination, $quality);}?>

3. Johtopäätös

esimerkissä tallennin vain pakatun kuvan, En alkuperäisen kokoista kuvaa. Voit tallentaa sekä version kuvia lataamisen aikana.

Säädä kuvanlaatua pienennettäessä kokoa.

jos tämä opetusohjelma on mielestäsi hyödyllinen, älä unohda jakaa sitä.

Write a Comment

Sähköpostiosoitettasi ei julkaista.