Jak skompresować rozmiar obrazu podczas przesyłania za pomocą PHP

wysokiej jakości obrazy wymagają czasu, aby załadować stronę internetową w zależności od liczby zdjęć.

możesz utworzyć wiele rozmiarów pliku obrazu podczas przesyłania i używać obrazów o niskiej i wysokiej jakości, gdy jest to wymagane.

zmniejszając rozmiar obrazu, zmniejsza się również jego jakość.

najlepszym tego przykładem jest WordPress, gdy plik obrazu zostanie przesłany, wygeneruje on Inny-Inny Rozmiar pliku. Te obrazy będą używane w motywie zgodnie z wymaganiami.

w tym samouczku pokazuję, jak można skompresować rozmiar obrazu podczas przesyłania za pomocą PHP.

jak skompresować rozmiar obrazu podczas przesyłania za pomocą PHP

zawartość

  1. HTML
  2. PHP
  3. wnioski

1. HTML

Utwórz element <input type='file'> w <form> i wyślij przycisk.

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

2. PHP

Utwórz katalog images do przechowywania plików obrazów.

funkcja Niestandardowa

Utwórz funkcję compressImage() do kompresji obrazów JPEG, PNG i GIF.

funkcja przyjmuje 3 parametry –
1. Źródło
2. Miejsce przeznaczenia
3. Jakość pliku

zadzwoń do imagecreatefromjpeg($source), imagecreatefromgif($source) i imagecreatefrompng($source), aby utworzyć nowy obraz zgodnie z wartością $info.

wykonaj imagejpeg() metodę przechowywania obrazu do miejsca docelowego. W tym przypadku trzeci parametr quality jest opcjonalny. Przyjmuje wartość od 0 do 100, a wartością domyślną jest 75.

formularz wyślij

Ustaw lokalizację na images katalog i sprawdź rozszerzenie pliku. Jeśli jest poprawny, to wywołaj funkcję compressImage(), gdzie przekaż $_FILES,$locationi 60.

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

w przykładzie zapisałem tylko skompresowany obraz, a nie obraz o oryginalnym rozmiarze. Możesz przechowywać obie wersje obrazów podczas przesyłania.

Dostosuj jakość obrazu podczas zmniejszania rozmiaru.

jeśli uważasz, że ten samouczek jest pomocny, nie zapomnij udostępnić.

Write a Comment

Twój adres e-mail nie zostanie opublikowany.