Ändern Sie die Bildgröße in PHP

Ich möchte PHP-Code schreiben, mit dem die Größe aller über ein Formular hochgeladenen Bilder automatisch auf 147x147px geändert wird, aber ich habe keine Ahnung, wie ich vorgehen soll (ich bin ein relativer PHP-Neuling).

Bisher wurden Bilder erfolgreich hochgeladen, Dateitypen erkannt und Namen bereinigt, aber ich möchte die Größenänderungsfunktion in den Code einfügen. Ich habe beispielsweise ein Test-Image mit einer Größe von 2,3 MB und 1331 x 1331 und möchte, dass der Code die Größe des Images verringert. Ich gehe davon aus, dass dies auch die Dateigröße des Images dramatisch komprimiert.

Bisher habe ich Folgendes:

if ($_FILES) {
                //Put file properties into variables
                $file_name = $_FILES['profile-image']['name'];
                $file_size = $_FILES['profile-image']['size'];
                $file_tmp_name = $_FILES['profile-image']['tmp_name'];

                //Determine filetype
                switch ($_FILES['profile-image']['type']) {
                    case 'image/jpeg': $ext = "jpg"; break;
                    case 'image/png': $ext = "png"; break;
                    default: $ext = ''; break;
                }

                if ($ext) {
                    //Check filesize
                    if ($file_size < 500000) {
                        //Process file - clean up filename and move to safe location
                        $n = "$file_name";
                        $n = ereg_replace("[^A-Za-z0-9.]", "", $n);
                        $n = strtolower($n);
                        $n = "avatars/$n";
                        move_uploaded_file($file_tmp_name, $n);
                    } else {
                        $bad_message = "Please ensure your chosen file is less than 5MB.";
                    }
                } else {
                    $bad_message = "Please ensure your image is of filetype .jpg or.png.";
                }
            }
$query = "INSERT INTO users (image) VALUES ('$n')";
mysql_query($query) or die("Insert failed. " . mysql_error() . "<br />" . $query);

Antworten auf die Frage(10)

Ihre Antwort auf die Frage