A képméret tömörítése PHP-vel történő feltöltés közben

a kiváló minőségű képek betöltése időbe telik a weboldalon a képek számától függően.

feltöltéskor többféle méretű képfájlt hozhat létre, és szükség esetén használhatja a gyenge és jó minőségű képeket.

ha egy kép méretét csökkenti, akkor a minőségét is csökkenti.

a legjobb példa erre a WordPress, amikor egy képfájlt feltöltenek, akkor más-más méretű fájlt generál. Ezek a képek fogják használni a téma szerint követelmény.

ebben az oktatóanyagban bemutatom, hogyan lehet tömöríteni a képméretet PHP-vel történő feltöltés közben.

 hogyan lehet tömöríteni a kép méretét feltöltés közben PHP-vel

tartalom

  1. HTML
  2. PHP
  3. következtetés

1. HTML

hozzon létre egy <input type='file'> elemet a <form> – ben és küldje el a gombot.

Kitöltött Kód

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

2. PHP

hozzon létre egy images könyvtárat a képfájlok tárolására.

egyéni funkció

hozzon létre egy compressImage() funkciót a JPEG, PNG és GIF képek tömörítéséhez.

a funkció 3 paramétert vesz igénybe –
1. Forrás
2. Rendeltetési hely
3. Fájlminőség

hívja a imagecreatefromjpeg($source), imagecreatefromgif($source) és imagecreatefrompng($source) parancsot egy új kép létrehozásához a $info értéknek megfelelően.

Execute imagejpeg() módszer a kép tárolására a rendeltetési helyre. Itt a harmadik paraméter quality opcionális. Az érték 0 – tól 100-ig terjed, az alapértelmezett érték pedig 75.

űrlap elküldése

állítsa be a helyet images könyvtárba, és ellenőrizze a fájlkiterjesztést. Ha ez érvényes, akkor hívja compressImage() függvény, ahol pass $_FILES,$location, és 60.

Kitöltött Kód

<?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. Következtetés

a példában csak a tömörített képet tároltam, az eredeti méretű képet nem. A képek mindkét verzióját feltöltheti feltöltés közben.

állítsa be a képminőséget a méret csökkentésekor.

ha hasznosnak találta ezt az oktatóanyagot, ne felejtse el megosztani.

Write a Comment

Az e-mail-címet nem tesszük közzé.