Heim >Backend-Entwicklung >PHP-Problem >PHP-Komprimierungsmethode zum Hochladen von Bildern

PHP-Komprimierungsmethode zum Hochladen von Bildern

WBOY
WBOYOriginal
2023-05-06 19:08:061455Durchsuche

Mit der rasanten Entwicklung des mobilen Internets werden Bildverarbeitung und -übertragung immer wichtiger. Große Bilder können Auswirkungen auf die Serverleistung haben und zum Verarbeiten und Hochladen von Bildern sind Komprimierungsmethoden erforderlich. In diesem Artikel wird erläutert, wie Sie mit PHP hochgeladene Bilder komprimieren.

1. Die Notwendigkeit der Bildkomprimierung

Die Bildkomprimierung ist eine häufig verwendete Technologie, die die Übertragungsgeschwindigkeit von Bildern erheblich verbessern und Übertragungsbandbreite sparen kann. Natürlich kann das Komprimieren von Bildern auf eine ausreichend kleine Größe den Speicherbedarf und die Ladezeiten reduzieren.

Mit anderen Worten: Wenn das angeforderte Bild zu groß ist, kann dies zu einer Verlangsamung der Seitenladegeschwindigkeit führen. Durch die Verwendung von Komprimierung zur Verarbeitung von Bildern kann die Seitenladegeschwindigkeit erheblich verbessert werden.

2. PHP-Bildkomprimierungsmethode

PHP bietet eine Reihe von Funktionen zur Bildverarbeitung. Benutzer können diese Funktionen zum Komprimieren von Bildern verwenden. Häufig verwendete Bildverarbeitungsfunktionen sind wie folgt:

imagecreatefromjpeg //从JPEG格式的文件或URL创建一个新的图像
imagesx //获取图像宽度
imagesy //获取图像高度
imagecopyresampled //重采样拷贝部分图像并调整大小,这里用来调整大小和压缩图像
imagejpeg //经过压缩后将图像输出到浏览器或文件,这里用来输出图像

Mit dem obigen Zeichenfunktionsaufruf können wir Bilder komprimieren und hochladen.

3. PHP-Bild-Upload-Methode

Ähnlich wie Bildverarbeitungsfunktionen bietet PHP auch einige Funktionen zum Hochladen von Dateien. Gängige Datei-Upload-Funktionen sind wie folgt:

move_uploaded_file //将上传文件移到新位置
$_FILES //包含关于上传文件的信息

Wenn ein Benutzer eine Datei hochlädt, verwenden Sie die Funktion move_uploaded_file, um die Datei in das angegebene Verzeichnis zu verschieben, und verwenden Sie das Array $_FILES, um auf die hochgeladenen Dateiinformationen zuzugreifen. Die grundlegende Datei-Upload-Funktion kann mit dem folgenden Code ausgeführt werden:

if(move_uploaded_file($_FILES["file"]["tmp_name"], $upload_dir)){
    echo "文件上传成功!";
} else{
    echo "文件上传失败!";
}

IV. Umfassendes Beispiel für die Komprimierung und den Upload von PHP-Bildern

Das Folgende ist ein grundlegendes PHP-Skript zum Komprimieren der hochgeladenen Bilddatei auf eine bestimmte Größe und zum Hochladen auf The Upload-Verzeichnis auf dem Server.

<?php
    //上传文件夹
    $upload_dir = "uploads/";
    //生成唯一的文件名
    $filename = md5(date('YmdHis')).'.jpg';
    //压缩后的图片质量
    $quality = 50;

    //上传的图像信息
    $temp = $_FILES['file']['tmp_name'];
    $img_info = getimagesize($temp);
    $img_type = $img_info[2];

    //使用不同的函数加载图像
    switch($img_type){
        case 1: $img = imagecreatefromgif($temp); break;
        case 2: $img = imagecreatefromjpeg($temp); break;
        case 3: $img = imagecreatefrompng($temp); break;
    }

    //缩略图尺寸限制,如果长或宽超出,则自动按比例缩小成这个宽度或高度
    $width_limit = 720;
    $height_limit = 480;
    $width = imagesx($img);
    $height = imagesy($img);
    if($width > $width_limit || $height > $height_limit){
        if($width/$width_limit > $height/$height_limit){
            $new_width = $width_limit;
            $new_height = round($height/$width* $new_width);
        } else{
            $new_height = $height_limit;
            $new_width = round($width/$height* $new_height);
        }
        $tmp_img = imagecreatetruecolor($new_width,$new_height);
        imagecopyresampled($tmp_img,$img,0,0,0,0,$new_width,$new_height,$width,$height);
        imagedestroy($img);
        $img = $tmp_img;
    }

    //将图像转换成JPEG格式
    imagejpeg($img, $upload_dir.$filename, $quality);
    imagedestroy($img);

    //输出上传成功信息
    echo '{"code":0,"file":"'.$filename.'","msg":"上传成功!"}';

5. Fazit

Mit der oben genannten PHP-Funktion können wir die hochgeladene Bilddatei einfach komprimieren und in das angegebene Verzeichnis hochladen. Insbesondere beim Hochladen und Komprimieren von Bildern auf Mobilgeräten ist es sehr praktisch, PHP zur Implementierung dieser Funktionen zu verwenden. In praktischen Anwendungen ist jedoch zu beachten, dass wir die Bilder angemessen begrenzen und optimieren müssen, um die Serverleistung und das Benutzererlebnis sicherzustellen, da die Verwendung von PHP zur Verarbeitung von Bildern viel Zeit und Serverressourcen erfordert.

Das obige ist der detaillierte Inhalt vonPHP-Komprimierungsmethode zum Hochladen von Bildern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn