Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert Funktionen zum Hochladen und Zuschneiden von Bildern

PHP implementiert Funktionen zum Hochladen und Zuschneiden von Bildern

WBOY
WBOYOriginal
2023-06-23 09:31:351690Durchsuche

PHP wird als häufig verwendete Back-End-Programmiersprache häufig im Bereich der Website-Entwicklung eingesetzt. Unter diesen gehören das Hochladen und Zuschneiden von Bildern zu den am häufigsten verwendeten Funktionen bei der Website-Entwicklung. Im Folgenden wird erläutert, wie Sie mit PHP Funktionen zum Hochladen und Zuschneiden von Bildern implementieren.

1. Bild-Upload-Funktion

Stellen Sie zunächst die Implementierung der Bild-Upload-Funktion vor. Der folgende Code implementiert eine einfache Funktion zum Hochladen von Bildern:

<html>
    <head>
        <meta charset="UTF-8">
        <title>图片上传</title>
    </head>
    <body>
        <form action="upload.php" method="post" enctype="multipart/form-data">
            <input type="file" name="file">
            <input type="submit" value="上传">
        </form>
    </body>
</html>

Auf dieser Seite befindet sich ein Formular, und das Aktionsattribut des Formulars verweist auf ein Verarbeitungsskript namens upload.php. Das enctype-Attribut des Formulars muss auf „multipart/form-data“ gesetzt werden, bevor Binärdateien hochgeladen werden können. Hier wird ein einfaches Formular bereitgestellt, das bei Bedarf geändert werden kann.

Das Folgende ist das Verarbeitungsskript für upload.php:

<?php
// 指定文件上传的目录
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);

// 获取文件类型
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// 检查文件是否是图片
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["file"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}

// 如果文件已经存在,提示并退出
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}

// 检查文件大小
if ($_FILES["file"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}

// 允许上传的图片类型
if($imageFileType != "jpg" && $imageFileType != "jpeg" && $imageFileType != "png" && $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}

// 如果没有错误,进行文件上传
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
} else {
    if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["file"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>

Dieses Skript ruft zunächst den Verarbeitungszielpfad und den Dateityp der hochgeladenen Datei ab und überprüft dann den Dateityp und die Dateigröße. Wenn Dateityp und -größe den Standards entsprechen, wird die Datei hochgeladen, andernfalls wird eine Fehlermeldung angezeigt.

2. Funktion zum Zuschneiden von Bildern

Die Funktion zum Zuschneiden von Bildern bezieht sich auf das Zuschneiden des Bildes nach dem Hochladen, sodass Bildgröße, Proportionen usw. den Anforderungen entsprechen. Im Folgenden wird beschrieben, wie Sie mit PHP die Funktion zum Zuschneiden von Bildern implementieren. In diesem Artikel verwenden wir die PHP-Bibliothek-GD-Bibliothek, um Bilder zu verarbeiten.

  1. Installieren Sie die GD-Bibliothek

Bevor Sie die GD-Bibliothek verwenden, müssen Sie sicherstellen, dass die Bibliothek installiert wurde. Andernfalls muss sie installiert werden. Im Linux-System können Sie die GD-Bibliothek mit dem folgenden Befehl installieren:

sudo apt-get install php7.2-gd

Im Windows-System finden Sie die folgende Anweisung in der PHP-Konfigurationsdatei php.ini:

;extension=php_gd2.dll

Ändern Sie sie in:

extension=php_gd2.dll

Speichern und neu starten php. Kann.

  1. Bilder zuschneiden

Bevor Sie die GD-Bibliothek verwenden, müssen Sie das Bild in das Programm laden. Sie können Funktionen wie Imagecreatefromjpeg(), Imagecreatefrompng(), Imagecreatefromgif() verwenden, um Bilder in verschiedenen Formaten zu laden. Das Folgende ist ein einfaches Zuschneideprogramm:

//载入原图
$src = imagecreatefromjpeg('test.jpg');

//裁剪原图
$dst = imagecreatetruecolor(100, 100);
imagecopyresampled($dst, $src, 0, 0, 50, 50, 100, 100, 100, 100);

//保存裁剪后的图片
imagejpeg($dst, 'test_crop.jpg');

//释放原图和裁剪后的图片
imagedestroy($src);
imagedestroy($dst);

Dieses Programm verwendet die Bildverarbeitungsfunktion imagecreatetruecolor(), um ein leeres Bild zu generieren, und verwendet dann die Funktion imagecopyresampled(), um das Originalbild zuzuschneiden und in das leere Bild zu kopieren. Verwenden Sie abschließend die Funktion imagejpeg(), um das zugeschnittene Bild zu speichern.

3. Zusammenfassung

In PHP können Sie Bilder einfach über das Upload-Formular und die GD-Bibliothek hochladen und zuschneiden. Diese Funktion wird sehr häufig bei der Website-Entwicklung verwendet. Die Beherrschung der grundlegenden Fähigkeiten zum Hochladen und Zuschneiden von Bildern wird für Studenten, die neu in der Website-Entwicklung sind, eine große Hilfe sein.

Das obige ist der detaillierte Inhalt vonPHP implementiert Funktionen zum Hochladen und Zuschneiden 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