So komprimieren Sie die Bildgröße beim Hochladen mit PHP

Das Laden hochwertiger Bilder auf der Webseite dauert je nach Anzahl der Bilder einige Zeit.

Sie können beim Hochladen mehrere Größen der Bilddatei erstellen und bei Bedarf die Bilder in niedriger und hoher Qualität verwenden.

Wenn ein Bild verkleinert wird, verringert es auch seine Qualität.

Wenn eine Bilddatei hochgeladen wird, wird eine andere Größe der Datei generiert. Diese Bilder werden je nach Anforderung im Thema verwendet.

In diesem Tutorial zeige ich, wie Sie die Bildgröße beim Hochladen mit PHP komprimieren können.

So komprimieren Sie die Bildgröße beim Hochladen mit PHP

Inhalt

  1. HTML
  2. PHP
  3. Fazit

1. HTML

Erstellen Sie ein <input type='file'> -Element in <form> und senden Sie die Schaltfläche.

Kompletter Code

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

2. PHP

Erstellen Sie ein images Verzeichnis zum Speichern von Bilddateien.

Benutzerdefinierte Funktion

Erstellen Sie eine compressImage() -Funktion zum Komprimieren von JPEG-, PNG- und GIF-Bildern.

Die Funktion nimmt 3 Parameter –
1. Quelle
2. Ziel
3. Dateiqualität

Rufen Sie imagecreatefromjpeg($source), imagecreatefromgif($source) und imagecreatefrompng($source) auf, um ein neues Bild gemäß dem Wert $info zu erstellen.

Führen Sie die imagejpeg() -Methode aus, um das Bild im Ziel zu speichern. Hier ist der dritte Parameter quality optional. Es nimmt Wert von 0 – 100 und der Standardwert ist 75.

Formular absenden

Legen Sie den Speicherort auf das Verzeichnis images fest und überprüfen Sie die Dateierweiterung. Wenn es gültig ist, rufen Sie die Funktion compressImage() auf, wobei $_FILES, $location und 60 übergeben werden.

Kompletter Code

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

Im Beispiel habe ich nur das komprimierte Bild gespeichert, nicht das Bild in Originalgröße. Sie können sowohl die Version der Bilder speichern, während das Hochladen.

Passen Sie die Bildqualität beim Verkleinern an.

Wenn Sie dieses Tutorial hilfreich fanden, vergessen Sie nicht, es zu teilen.

Write a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht.