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ä.
sisältö
- HTML
- PHP
- 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ä.