Hvordan Komprimere Bildestørrelse Under Opplasting MED PHP

Bilder av Høy kvalitet tar tid å laste på nettsiden, avhengig av antall bilder.

du kan opprette flere størrelser av bildefilen når du laster opp og bruke lav og høy kvalitet bilder når det er nødvendig.

når du reduserer en bildestørrelse, reduseres også kvaliteten.

Det beste eksempelet På Dette Er WordPress, når en bildefil lastes opp, vil den generere en annen størrelse på filen. Disse bildene vil bruke i temaet i henhold til kravet.

i denne opplæringen viser jeg hvordan du kan komprimere bildestørrelse mens du laster opp MED PHP.

Hvordan Komprimere Bildestørrelse Under Opplasting MED PHP

Innhold

  1. HTML
  2. PHP
  3. Konklusjon

1. HTML

Opprett et <input type='file'> – element i <form> og send-knappen.

Fullført Kode

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

2. PHP

Opprett en images katalog for å lagre bildefiler.

Tilpasset Funksjon

Opprett en compressImage() funksjon for å komprimere JPEG -, PNG-og GIF-bilder.

funksjonen tar 3 parametere –
1. Kilde
2. Destinasjon
3. Filkvalitet

Ring imagecreatefromjpeg($source), imagecreatefromgif($source) og imagecreatefrompng($source) for å opprette et nytt bilde i henhold til $info – verdien.

Utfør imagejpeg() metode for å lagre bildet til målet. Her er den tredje parameteren quality valgfri. Det tar verdi fra 0 – 100 og standardverdien er 75.

Skjema send

Sett plassering til images katalog og sjekk filtype. Hvis det er gyldig, ring compressImage() – funksjonen der pass $_FILES, $location og 60.

Fullført Kode

<?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. Konklusjon

i eksemplet lagret jeg bare det komprimerte bildet, ikke originalstørrelsen. Du kan lagre både versjonen av bildene mens du laster opp.

Juster bildekvaliteten når du reduserer størrelsen.

hvis du fant denne opplæringen nyttig så ikke glem å dele.

Write a Comment

Din e-postadresse vil ikke bli publisert.