Heim Backend-Entwicklung PHP7 Wie führe ich die Datei-Upload-Verarbeitung in PHP7.0 durch?

Wie führe ich die Datei-Upload-Verarbeitung in PHP7.0 durch?

May 26, 2023 am 08:21 AM
php 文件上传 处理

Mit der Entwicklung des Internetzeitalters spielt das Hochladen von Dateien eine sehr wichtige Rolle bei der Website-Entwicklung. Wenn Benutzer ihre eigenen Avatare, Fotos oder andere Dateien hochladen müssen, muss die Website die hochgeladenen Dateien verarbeiten. In PHP7.0 unterscheidet sich die Art und Weise, wie das Hochladen von Dateien gehandhabt wird, geringfügig von früheren Versionen. In diesem Artikel wird erläutert, wie Sie die Datei-Upload-Verarbeitung in PHP7.0 durchführen.

1. HTML-Formular zum Hochladen von Dateien

Im HTML-Formular wird das Tag verwendet. Sie müssen das enctype-Attribut auf „multipart/form-data“ setzen und die Übermittlungsmethode ist die POST-Methode, zum Beispiel:

<form action="upload.php" method="POST" enctype="multipart/form-data">
  <input type="file" name="file">
  <input type="submit" value="上传文件">
</form>
Nach dem Login kopieren

2. PHP verarbeitet hochgeladene Dateien

In PHP verwenden Sie das Array $_FILES, um den Upload durchzuführen Dateien. Wenn der Benutzer eine Datei auswählt und das Formular absendet, enthält das Array $_FILES Informationen über die hochgeladene Datei. Zum Beispiel:

$_FILES['file']['name'] // 文件名
$_FILES['file']['type'] // 文件类型
$_FILES['file']['size'] // 文件大小
$_FILES['file']['tmp_name'] // 临时文件名
$_FILES['file']['error'] // 错误代码
Nach dem Login kopieren

wobei der temporäre Dateiname verwendet wird, um den Inhalt der hochgeladenen Datei zu lesen, nachdem der Upload abgeschlossen ist. Als Nächstes besprechen wir, wie Sie diese Informationen zum Hochladen von Dateien verwenden.

3. Laden Sie die Datei hoch und speichern Sie sie auf dem Server

Mit der Funktion move_uploaded_file() können Sie die hochgeladene Datei aus dem temporären Ordner in den angegebenen Zielordner verschieben. Zum Beispiel:

$target_dir = "uploads/"; // 目标文件夹
$target_file = $target_dir . basename($_FILES["file"]["name"]); // 目标文件路径
if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
    echo "文件上传成功";
} else {
    echo "文件上传失败";
}
Nach dem Login kopieren

Beachten Sie, dass Sie vor dem Empfang der hochgeladenen Datei sicherstellen müssen, dass der Zielordner vorhanden ist, da sonst die Funktion move_uploaded_file() fehlschlägt.

4. Fehler bei der Verarbeitung hochgeladener Dateien

Beim Hochladen von Dateien können einige Fehler auftreten, z. B. wenn die hochgeladene Dateigröße die vereinbarte Größe überschreitet, ein Upload-Fehler usw. Wir können das Fehlerattribut im Array $_FILES verwenden, um diese Fehler zu behandeln.

switch ($_FILES["file"]["error"]) {
    case UPLOAD_ERR_OK: // 成功
        break;
    case UPLOAD_ERR_INI_SIZE: // 上传的文件超过了php.ini中的最大约束大小
    case UPLOAD_ERR_FORM_SIZE: // 上传的文件超过了HTML表单中的最大约束大小
        echo "文件太大";
        break;
    case UPLOAD_ERR_PARTIAL: // 文件只有部分被上传
        echo "文件上传失败";
        break;
    case UPLOAD_ERR_NO_FILE: // 没有文件被上传
        echo "请选择文件";
        break;
    case UPLOAD_ERR_NO_TMP_DIR: // 服务器未配置临时目录
    case UPLOAD_ERR_CANT_WRITE: // 无法将文件写入磁盘
    case UPLOAD_ERR_EXTENSION: // 文件不能通过PHP扩展上传
        echo "文件上传失败";
        break;
}
Nach dem Login kopieren

5. Überprüfen Sie den Typ und die Größe der hochgeladenen Dateien.

Um das illegale Hochladen von Dateien zu verhindern, müssen wir auch den Typ und die Größe der hochgeladenen Dateien überprüfen. Wenn beispielsweise nur Dateien vom Typ Bild hochgeladen werden dürfen, können Sie die Funktion getimagesize() verwenden, um den Dateityp zu bestimmen.

$allowed_types = array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF);
$type = exif_imagetype($_FILES["file"]["tmp_name"]);
if (!in_array($type, $allowed_types)) {
    echo "请选择正确的图像类型";
}
Nach dem Login kopieren

Gleichzeitig muss die Dateigröße überprüft werden, um die Dateigröße zu ermitteln, zum Beispiel:

$max_size = 2 * 1024 * 1024; // 允许上传最大文件大小为2MB
if (filesize($_FILES["file"]["tmp_name"]) > $max_size) {
    echo "文件太大";
}
Nach dem Login kopieren

6. In PHP7.0 erfolgt die Datei-Upload-Verarbeitung werden sicherer und einfacher. Sie können Informationen zu hochgeladenen Dateien über das Array $_FILES abrufen, die Funktion move_uploaded_file() verwenden, um die Datei auf dem Server zu speichern, und den Typ und die Größe der hochgeladenen Datei überprüfen, um sicherzustellen, dass die hochgeladene Datei sicher und zuverlässig ist.

Das obige ist der detaillierte Inhalt vonWie führe ich die Datei-Upload-Verarbeitung in PHP7.0 durch?. 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 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 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)

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.

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

CakePHP-Protokollierung CakePHP-Protokollierung Sep 10, 2024 pm 05:26 PM

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

See all articles