Heim Backend-Entwicklung PHP-Tutorial Wie gehe ich mit dem Datei-Upload in PHP um?

Wie gehe ich mit dem Datei-Upload in PHP um?

May 11, 2023 pm 10:31 PM
php文件上传 文件处理 表单处理

Mit der kontinuierlichen Weiterentwicklung der Internettechnologie ist die Funktion zum Hochladen von Dateien zu einem wesentlichen Bestandteil vieler Websites geworden. In der PHP-Sprache können wir Datei-Uploads über einige Klassenbibliotheken und Funktionen verarbeiten. Dieser Artikel konzentriert sich auf die Datei-Upload-Verarbeitungsmethode in PHP.

1. Formulareinstellungen

Im HTML-Formular müssen wir das enctype-Attribut auf „multipart/form-data“ setzen, um das Hochladen von Dateien zu unterstützen. Der Code lautet wie folgt:

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

Unter diesen ist das Typattribut des Eingabe-Tags „Datei“ und das Namensattribut „Datei“, mit dem der Name der hochgeladenen Datei angegeben wird.

2. PHP-Datei-Upload-Verarbeitung

In PHP können wir die globale Variable $_FILES verwenden, um Datei-Uploads zu verarbeiten. Angenommen, die in unserem Formular hochgeladene Datei heißt „Datei“, dann können Sie in PHP die hochgeladenen Dateiinformationen über $_FILES['file'] abrufen. Das Array

$_FILES enthält fünf Elemente:

  1. Name: der Name der hochgeladenen Datei.
  2. Typ: Typ der hochgeladenen Datei.
  3. tmp_name: Temporärer Speicherpfad der hochgeladenen Dateien.
  4. Fehler: Fehlercode beim Hochladen von Dateien.
  5. Größe: Die Größe der hochgeladenen Datei (in Bytes).

Als nächstes können wir die Funktion move_uploaded_file() verwenden, um die hochgeladene Datei in den angegebenen Ordner zu verschieben. Der Code lautet wie folgt:

$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

Im obigen Code gibt die Variable $target_dir den Zielordner der hochgeladenen Datei an und die Variable $target_file enthält den vollständigen Pfad der hochgeladenen Datei. Wir können die Funktion move_uploaded_file() verwenden, um temporäre Dateien in das angegebene Verzeichnis zu verschieben. Gibt true zurück, wenn die Verschiebung erfolgreich ist, andernfalls false.

Um die Sicherheit der Dateien zu gewährleisten, müssen wir beim Hochladen von Dateien bestimmte Prüfungen und Filter an den hochgeladenen Dateien durchführen. Beispielsweise können wir mit der Funktion is_uploaded_file() prüfen, ob die hochgeladene Datei wirklich vom Client stammt. Der Code lautet wie folgt:

if(is_uploaded_file($_FILES['file']['tmp_name'])){
    //处理上传文件
}else{
    echo "非法的文件上传!";
}
Nach dem Login kopieren

Wir können auch die Funktion getimagesize() verwenden, um die Breite und Höhe des hochgeladenen Bildes abzurufen. Der Code lautet wie folgt:

if (is_uploaded_file($_FILES['file']['tmp_name'])) {
    $image_info = getimagesize($_FILES['file']['tmp_name']);
    echo "图片宽度:".$image_info[0]."<br/>";
    echo "图片高度:".$image_info[1]."<br/>";
    echo "图片类型:".$image_info[2]."<br/>";
} else {
    echo "非法的文件上传!";
}
Nach dem Login kopieren

3. Begrenzen Sie die Größe der hochgeladenen Dateien

Die Standardbeschränkung für die Dateigröße, die in PHP hochgeladen werden kann, beträgt 2 MB. Wir können diese Beschränkung jedoch auch ändern, indem wir die Konfigurationsdatei ändern oder festlegen in PHP. In der Datei php.ini können wir beispielsweise upload_max_filesize und post_max_size festlegen, um die Größe der hochgeladenen Dateien zu begrenzen.

Wenn wir den Maximalwert hochgeladener Dateien in PHP festlegen möchten, können wir die Funktion ini_set() verwenden, um die Einstellungen in php.ini zu ändern. Der Code lautet wie folgt:

//设置上传文件的最大值为10M
ini_set("upload_max_filesize","10M");
ini_set("post_max_size","10M");
Nach dem Login kopieren

Wir können auch $_SERVER['CONTENT_LENGTH'] verwenden, um die Inhaltslänge in den Header-Informationen der Client-Anfrage abzurufen und festzustellen, ob die hochgeladene Datei die angegebene Größe überschreitet. Der Code lautet wie folgt:

if($_SERVER['CONTENT_LENGTH'] > MAX_SIZE){
    echo "上传文件超过了指定大小!";
}
Nach dem Login kopieren

Im Frontend-Teil können Sie auch das Plug-In jQuery.uploadFile.js verwenden, um die Größe der hochgeladenen Dateien zu begrenzen. Der Code lautet wie folgt:

<input type="file" name="file" id="file"/>
<script src="js/jquery-1.12.4.min.js"></script>
<script src="js/jquery.uploadfile.js"></script>
<script>
    $("#file").uploadFile({
        url: "upload.php",   //处理文件上传的PHP脚本
        maxFileSize: 1024*1024*5,   //最大上传文件的大小,此处为5M
    });
</script>
Nach dem Login kopieren

4. Umgang mit Datei-Upload-Fehlern

Beim Hochladen von Dateien können einige Fehler auftreten. Beispielsweise ist die hochgeladene Datei zu groß, der hochgeladene Dateityp ist nicht zulässig, der Zielordner existiert nicht usw. Wir müssen diese Fehler beheben, um die Benutzererfahrung und die Effektivität des Datei-Uploads zu verbessern.

Einige Fehlercodes sind in PHP definiert, um uns die Fehlerbeurteilung und -verarbeitung zu erleichtern. Zum Beispiel:

  1. UPLOAD_ERR_OK (0): Hochladen erfolgreich.
  2. UPLOAD_ERR_INI_SIZE(1): Die hochgeladene Datei überschreitet die Konfiguration in php.ini.
  3. UPLOAD_ERR_FORM_SIZE(2): Die hochgeladene Datei überschreitet den durch MAX_FILE_SIZE im Formular angegebenen Wert.
  4. UPLOAD_ERR_PARTIAL(3): Nur ein Teil der hochgeladenen Datei wurde hochgeladen.
  5. UPLOAD_ERR_NO_FILE(4): Es wurde keine Datei hochgeladen.
  6. UPLOAD_ERR_NO_TMP_DIR(6): Temporärer Ordner nicht gefunden.
  7. UPLOAD_ERR_CANT_WRITE(7): Das Schreiben der Datei ist fehlgeschlagen.

Wir können Switch-Anweisungen verwenden, um diese Fehler zu behandeln. Der Code lautet wie folgt:

switch ($_FILES['file']['error']) {
    case UPLOAD_ERR_OK:
        //上传成功
        break;
    case UPLOAD_ERR_INI_SIZE:
        echo "上传的文件超过了php.ini中的配置。";
        break;
    case UPLOAD_ERR_FORM_SIZE:
        echo "上传的文件超过了表单中的MAX_FILE_SIZE指定的值。";
        break;
    case UPLOAD_ERR_PARTIAL:
        echo "上传的文件只有部分被上传。";
        break;
    case UPLOAD_ERR_NO_FILE:
        echo "没有文件被上传。";
        break;
    case UPLOAD_ERR_NO_TMP_DIR:
        echo "找不到临时文件夹。";
        break;
    case UPLOAD_ERR_CANT_WRITE:
        echo "文件写入失败。";
        break;
    default:
        echo "未知错误。";
        break;
}
Nach dem Login kopieren

Wenn Sie die hochgeladenen Dateitypen auf bestimmte Typen beschränken möchten, können Sie die Funktion in_array() verwenden, um ein Urteil zu fällen. Der Code lautet wie folgt:

$allowed_types = array('jpg', 'jpeg', 'gif', 'png');   //允许上传的文件类型
$filename = $_FILES['file']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);   //获取文件类型后缀
if (!in_array($ext, $allowed_types)) {
    echo "不允许上传此类型的文件。";
}
Nach dem Login kopieren

5. Zusammenfassung

Das Hochladen von Dateien ist ein häufiges Problem in der Webentwicklung. PHP bietet eine Vielzahl von Methoden und Funktionen zum Hochladen von Dateien. Zusätzlich zu den oben vorgestellten Methoden können wir auch PHP-Klassenbibliotheken für die Datei-Upload-Verarbeitung verwenden, wie z. B. PHP File Uploader (https://www.github.com/verot/class.upload.php) und FineUploader (https:/ /fineuploader.com/). Unabhängig davon, welche Methode verwendet wird, müssen wir die Sicherheit und Gültigkeit der hochgeladenen Dateien gewährleisten.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit dem Datei-Upload in PHP um?. 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)

PHP-Formularverarbeitung: Formular-Reset und Datenlöschung PHP-Formularverarbeitung: Formular-Reset und Datenlöschung Aug 07, 2023 pm 03:05 PM

PHP-Formularverarbeitung: Zurücksetzen des Formulars und Löschen von Daten. In der Webentwicklung sind Formulare ein sehr wichtiger Bestandteil und werden zum Sammeln der von Benutzern eingegebenen Daten verwendet. Nachdem der Benutzer das Formular abgeschickt hat, verarbeiten wir normalerweise die Formulardaten und führen einige notwendige Vorgänge durch. In der tatsächlichen Entwicklung stoßen wir jedoch häufig auf Situationen, in denen wir das Formular zurücksetzen oder die Formulardaten löschen müssen. In diesem Artikel wird die Verwendung von PHP zum Implementieren von Funktionen zum Zurücksetzen von Formularen und zum Löschen von Daten vorgestellt und entsprechende Codebeispiele bereitgestellt. Formular-Reset Zunächst müssen wir das Konzept des Formular-Resets verstehen. wenn Benutzer

PHP-Formularverarbeitung: Sortieren und Ranking der Formulardaten PHP-Formularverarbeitung: Sortieren und Ranking der Formulardaten Aug 09, 2023 pm 06:01 PM

PHP-Formularverarbeitung: Sortieren und Ranking von Formulardaten In der Webentwicklung sind Formulare eine gängige Benutzereingabemethode. Nachdem wir Formulardaten von Benutzern gesammelt haben, müssen wir die Daten normalerweise verarbeiten und analysieren. In diesem Artikel wird erläutert, wie Sie mit PHP Formulardaten sortieren und einstufen, um vom Benutzer übermittelte Daten besser anzuzeigen und zu analysieren. 1. Sortierung der Formulardaten Wenn wir von Benutzern übermittelte Formulardaten sammeln, stellen wir möglicherweise fest, dass die Reihenfolge der Daten nicht unbedingt unseren Anforderungen entspricht. Für diejenigen, die nach bestimmten Regeln angezeigt oder aufgeteilt werden müssen

PHP 7-Handbuch zur Formularverarbeitung: So erhalten Sie Formulardaten mithilfe des $_REQUEST-Arrays PHP 7-Handbuch zur Formularverarbeitung: So erhalten Sie Formulardaten mithilfe des $_REQUEST-Arrays Aug 01, 2023 pm 10:08 PM

PHP7-Formularverarbeitungsanleitung: So verwenden Sie das Array $_REQUEST, um Formulardaten abzurufen. Übersicht: Wenn ein Benutzer ein Formular auf einer Webseite ausfüllt und absendet, muss der serverseitige Code die Formulardaten verarbeiten. In PHP7 können Entwickler Formulardaten einfach über das Array $_REQUEST abrufen. In diesem Artikel erfahren Sie, wie Sie das Array $_REQUEST korrekt zum Verarbeiten von Formulardaten verwenden, und stellen einige Codebeispiele bereit, um den Lesern das Verständnis zu erleichtern. 1. Verstehen Sie das Array $_REQUEST: $_REQUES

Hochladen und Verarbeiten von Dateien in Laravel: Vom Benutzer hochgeladene Dateien verwalten Hochladen und Verarbeiten von Dateien in Laravel: Vom Benutzer hochgeladene Dateien verwalten Aug 13, 2023 pm 06:45 PM

Hochladen und Verarbeiten von Dateien in Laravel: Verwalten von vom Benutzer hochgeladenen Dateien Einführung: Das Hochladen von Dateien ist eine sehr häufige Funktionsanforderung in modernen Webanwendungen. Im Laravel-Framework wird das Hochladen und Verarbeiten von Dateien sehr einfach und effizient. In diesem Artikel wird erläutert, wie Sie von Benutzern hochgeladene Dateien in Laravel verwalten, einschließlich der Überprüfung, Speicherung, Verarbeitung und Anzeige von Datei-Uploads. 1. Datei-Upload Unter Datei-Upload versteht man das Hochladen von Dateien vom Client auf den Server. In Laravel sind Datei-Uploads sehr einfach zu handhaben. Erste,

PHP-Formularverarbeitung: Formulardatenexport und -druck PHP-Formularverarbeitung: Formulardatenexport und -druck Aug 09, 2023 pm 03:48 PM

PHP-Formularverarbeitung: Formulardatenexport und -druck Bei der Website-Entwicklung sind Formulare ein unverzichtbarer Bestandteil. Wenn ein Formular auf der Website vom Benutzer ausgefüllt und übermittelt wird, muss der Entwickler die Formulardaten verarbeiten. In diesem Artikel erfahren Sie, wie Sie Formulardaten mit PHP verarbeiten und wie Sie die Daten in eine Excel-Datei exportieren und ausdrucken. 1. Formularübermittlung und grundlegende Verarbeitung Zunächst müssen Sie ein HTML-Formular erstellen, damit Benutzer Daten ausfüllen und übermitteln können. Nehmen wir an, wir haben ein einfaches Feedback-Formular mit Name, E-Mail-Adresse und Kommentaren. HTM

Umgang mit Inline-Bearbeitungsfunktionen in Formularen mit PHP Umgang mit Inline-Bearbeitungsfunktionen in Formularen mit PHP Aug 10, 2023 pm 08:57 PM

So verwenden Sie PHP zur Handhabung von Inline-Bearbeitungsfunktionen in Formularen Einführung: Formulare sind eines der am häufigsten verwendeten Elemente in der Webentwicklung und werden zum Sammeln von von Benutzern eingegebenen Daten verwendet. Mit der Inline-Bearbeitungsfunktion können Benutzer Daten sofort direkt im Formular bearbeiten und speichern und so das Benutzererlebnis und die betriebliche Effizienz verbessern. In diesem Artikel wird erläutert, wie Sie mit PHP Inline-Bearbeitungsfunktionen in Formularen verwalten und entsprechende Codebeispiele anhängen. 1. HTML-Teil Zuerst müssen wir ein Formular erstellen, das Inline-Bearbeitungsfunktionen enthält. In HTML können wir Inhalte verwenden

Erste Schritte mit der PHP-Dateiverarbeitung: Schritt-für-Schritt-Anleitung zum Lesen und Schreiben Erste Schritte mit der PHP-Dateiverarbeitung: Schritt-für-Schritt-Anleitung zum Lesen und Schreiben Sep 06, 2023 am 09:58 AM

Erste Schritte mit der PHP-Dateiverarbeitung: Schritt-für-Schritt-Anleitung zum Lesen und Schreiben In der Webentwicklung ist die Dateiverarbeitung eine häufige Aufgabe, unabhängig davon, ob es sich um das Lesen von von Benutzern hochgeladenen Dateien oder das Schreiben der Ergebnisse in Dateien zur späteren Verwendung handelt Die Verarbeitung von PHP-Dokumenten ist sehr wichtig. Dieser Artikel bietet eine einfache Anleitung zur Einführung in die grundlegenden Schritte zum Lesen und Schreiben von Dateien in PHP und fügt Codebeispiele als Referenz bei. Beim Lesen von Dateien in PHP können Sie die Funktion fopen() verwenden, um eine Datei zu öffnen und eine Dateiressource (file

Letzte Zeile der Datei in PHP lesen Letzte Zeile der Datei in PHP lesen Aug 27, 2023 pm 10:09 PM

Um die letzte Zeile einer Datei aus PHP zu lesen, lautet der Code wie folgt: -$line='';$f=fopen('data.txt','r');$cursor=-1;fseek($f, $cursor, SEEK_END);$char=fgetc($f);//Trimtrailingnewlinecharactersinthefilewhile($char===""||$char==="\r"){&

See all articles