Sådan komprimeres billedstørrelse under Upload med PHP

billeder i høj kvalitet tager tid at indlæse på hjemmesiden afhængigt af antallet af billeder.

du kan oprette flere størrelser af billedfilen, når du uploader og bruger billeder af lav og høj kvalitet, når det kræves.

når du reducerer en billedstørrelse, nedsætter den også dens kvalitet.

når en billedfil uploades, vil den generere en anden størrelse af filen. Disse billeder vil bruge i temaet efter krav.

i denne vejledning viser jeg, hvordan du kan komprimere billedstørrelse, mens du uploader med PHP.

sådan komprimeres billedstørrelse under Upload med PHP

indhold

  1. HTML
  2. PHP
  3. konklusion

1. HTML

Opret et <input type='file'> element i <form> og send knap.

Afsluttet Kode

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

2. PHP

Opret en images mappe til at gemme billedfiler.

brugerdefineret funktion

Opret en compressImage() funktion til komprimering af JPEG -, PNG-og GIF-billeder.

funktionen tager 3 parametre –
1. Kilde
2. Bestemmelsessted
3. Filkvalitet

Ring imagecreatefromjpeg($source), imagecreatefromgif($source) og imagecreatefrompng($source) for at oprette et nyt billede i henhold til $info værdi.

Udfør imagejpeg() metode til at gemme billedet til destinationen. Her er den tredje parameter quality valgfri. Det tager værdi fra 0 – 100, og standardværdien er 75.

formular send

Indstil placering til images mappe og tjek filtypen. Hvis det er gyldigt, så ring compressImage() funktion, hvor pass $_FILES,$location og 60.

Afsluttet 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. Konklusion

i eksemplet lagrede jeg kun det komprimerede billede, ikke det originale størrelsesbillede. Du kan gemme både versionen af billeder, mens du uploader.

Juster billedkvaliteten, når du reducerer størrelsen.

hvis du fandt denne tutorial nyttig, så glem ikke at dele.

Write a Comment

Din e-mailadresse vil ikke blive publiceret.