Cum de a comprima dimensiunea imaginii în timp ce încărcarea cu PHP

imagini de înaltă calitate ia timp pentru a încărca pe pagina web, în funcție de numărul de imagini.

puteți crea mai multe dimensiuni ale fișierului imagine atunci când încărcați și utilizați imaginile de calitate scăzută și înaltă atunci când este necesar.

când reduceți dimensiunea unei imagini, aceasta scade și calitatea acesteia.

cel mai bun exemplu în acest sens este WordPress, ori de câte ori un fișier imagine este încărcat, atunci acesta va genera o dimensiune diferită a fișierului. Aceste imagini vor folosi în tema în funcție de cerință.

în acest tutorial, vă arăt cum puteți comprima dimensiunea imaginii în timp ce încărcați cu PHP.

Cum de a comprima dimensiunea imaginii în timp ce încărcarea cu PHP

cuprins

  1. HTML
  2. PHP
  3. concluzie

1. HTML

creați un element <input type='file'> în <form> și trimiteți butonul.

Cod Completat

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

2. PHP

creați un director images pentru a stoca fișiere imagine.

funcție personalizată

creați o funcție compressImage() pentru a comprima imaginile JPEG, PNG și GIF.

funcția are 3 parametri –
1. Sursa
2. Destinație
3. Calitatea fișierului

apelați imagecreatefromjpeg($source), imagecreatefromgif($source) și imagecreatefrompng($source) pentru a crea o nouă imagine în conformitate cu valoarea $info.

executa imagejpeg() metoda pentru a stoca imaginea la destinație. Aici, al treilea parametru quality este opțional. Este nevoie de valoare de la 0 – 100 și valoarea implicită este 75.

formular trimiteți

Setați locația la directorul images și verificați extensia fișierului. Dacă este validă, atunci apelați funcția compressImage()unde treceți $_FILES,$locationși 60.

Cod Completat

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

în exemplu, am stocat doar imaginea comprimată, nu imaginea de dimensiune originală. Puteți stoca atât versiunea de imagini în timpul încărcării.

reglați calitatea imaginii atunci când reduceți dimensiunea.

dacă ați găsit acest tutorial util, atunci nu uitați să împărtășiți.

Write a Comment

Adresa ta de email nu va fi publicată.