Heim Backend-Entwicklung PHP-Tutorial So implementieren Sie das Hochladen und Verarbeiten von Bildern in PHP

So implementieren Sie das Hochladen und Verarbeiten von Bildern in PHP

May 20, 2023 pm 04:31 PM
php 图片处理 图片上传

Mit der Entwicklung des mobilen Internets sind Bilder zu einem wichtigen und untrennbaren Element geworden, das Benutzer teilen und kommunizieren können. Das herkömmliche Hochladen von Bildern erfordert FTP oder HTTP, aber diese Methode ist nicht nur umständlich, sondern auch unfreundlich. Um dieses Problem zu lösen, begannen die Menschen nach und nach, die PHP-Sprache zum Hochladen und Verarbeiten von Bildern zu verwenden.

In diesem Artikel werde ich vorstellen, wie man PHP zum Hochladen und Verarbeiten von Bildern auf der Website verwendet.

  1. Bild-Upload

Um den Bild-Upload auf der Website zu implementieren, müssen Sie ein HTML-Formular verwenden, um ein Datei-Upload-Steuerelement zu erstellen. Hier ist ein einfaches HTML-Formular, das es dem Benutzer ermöglicht, ein Bild hochzuladen:

<form action="upload.php" method="post" enctype="multipart/form-data">
  <input type="file" name="image">
  <input type="submit" value="Upload">
</form>
Nach dem Login kopieren

Das enctype-Attribut im Formular muss auf „multipart/form-data“ gesetzt werden, damit die Dateidaten korrekt übertragen werden können.

Um Datei-Uploads in PHP zu verarbeiten, müssen Sie das Array $_FILES verwenden, das die Informationen der hochgeladenen Dateien speichert. In PHP können Sie die Funktion move_uploaded_file verwenden, um eine hochgeladene Datei in ein angegebenes Verzeichnis auf dem Server zu verschieben.

Das Folgende ist eine Codevorlage für die PHP-Upload-Verarbeitung. Sie verarbeitet das vom Benutzer übermittelte Formular, speichert das vom Benutzer hochgeladene Bild auf dem Server und gibt das Upload-Ergebnis zurück:

<?php
$target_dir = "uploads/"; // 上传文件存储的目录
$target_file = $target_dir . basename($_FILES["image"]["name"]);  // 获取上传的文件名
$uploadOk = 1;  // 默认设置上传标识为1,表示上传成功

// 检测上传的文件是不是真实的图片
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["image"]["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["image"]["size"] > 5000000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}

// 检测上传标识是否为1,如果是,将上传的文件移动到指定目录
if ($uploadOk == 1) {
    if (move_uploaded_file($_FILES["image"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["image"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>
Nach dem Login kopieren
  1. Bildverarbeitung

Nach dem Hochladen das Bild, wir Sie müssen auch manipuliert werden, um verschiedene Stile und Effekte anzuzeigen. In PHP können Sie die GD-Bibliothek verwenden, um Bildverarbeitungsvorgänge abzuschließen. Die GD-Bibliothek ist eine Erweiterungsbibliothek von PHP. Sie bietet verschiedene Bildverarbeitungsfunktionen, wie z. B. das Erstellen von Miniaturansichten, das Ausschneiden, Drehen, Wasserzeichen usw.

Das Folgende ist eine PHP-Codevorlage zum Generieren einer Miniaturansicht mit einer bestimmten Breite und Höhe:

<?php
// 指定缩略图的宽度和高度
$thumb_width = 200;
$thumb_height = 200;

// 指定原图和缩略图的文件名
$image_file = "uploads/" . basename($_FILES["image"]["name"]);
$thumbnail_file = "thumbnails/" . basename($_FILES["image"]["name"]);

// 创建一个Image对象,用于操作图片
$image_res = new GdImage();
$image_res->load($image_file);

// 获取原图的宽度和高度
$orig_width = $image_res->getWidth();
$orig_height = $image_res->getHeight();

// 计算缩略图的宽度和高度
$ratio_orig = $orig_width / $orig_height;
if ($thumb_width / $thumb_height > $ratio_orig) {
    $thumb_width = $thumb_height * $ratio_orig;
} else {
    $thumb_height = $thumb_width / $ratio_orig;
}

// 创建一个新的Image对象,用于生成缩略图
$thumb_res = imagecreatetruecolor($thumb_width, $thumb_height);

// 将原图缩放到指定大小,并复制到新的图像上
imagecopyresampled($thumb_res, $image_res, 0, 0, 0, 0, $thumb_width, 
$thumb_height, $orig_width, $orig_height);

// 将缩略图保存成一个JPEG文件
imagejpeg($thumb_res, $thumbnail_file);
?>
Nach dem Login kopieren

Das Obige ist eine einfache PHP-Codevorlage zum Generieren von Miniaturansichten. In praktischen Anwendungen müssen wir verschiedene Bildverarbeitungsvorgänge basierend auf spezifischen Anforderungen durchführen und diese mit anderen Funktionen der GD-Bibliothek kombinieren.

Zusammenfassung

Durch die obige Einführung sollten Sie nun verstehen, wie Sie PHP zum Hochladen und Verarbeiten von Bildern auf der Website verwenden. Obwohl die Syntax von PHP sehr einfach ist, müssen Sie sie bei der Implementierung bestimmter Funktionen dennoch geduldig und sorgfältig debuggen. Wenn Sie Fragen oder Anregungen haben, hinterlassen Sie bitte unten eine Nachricht.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie das Hochladen und Verarbeiten von Bildern in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP arbeitet mit Datenbank CakePHP arbeitet mit Datenbank Sep 10, 2024 pm 05:25 PM

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

See all articles