Heim Backend-Entwicklung PHP-Tutorial Beispiel für das Hochladen einer HTML5-Datei

Beispiel für das Hochladen einer HTML5-Datei

Aug 08, 2016 am 09:19 AM
console file files quot

Ursprüngliche Adresse:

http://www.webcodegeeks.com/html5/html5-file-upload-example/

Dieser Artikel zeigt Ihnen, wie Sie HTML5 verwenden Zum Lesen der vom Benutzer ausgewählten Dateiinformationen und zum Hochladen der Datei auf einen Server.

FileApi ist eine der interessantesten neuen Funktionen, die in HTML5 hinzugefügt wurden. Wir können die Datei lesen, bevor wir sie hochladen zum Server Rufen Sie die Informationen der angezeigten Datei ab, und Sie können die Datei senden, ohne das Postformular zu verwenden

Im Folgenden wird gezeigt, wie die vom Benutzer ausgewählten Dateiinformationen gelesen werden. und verwenden Sie Ajax, um diese Dateien asynchron hochzuladen


1 1.1: Situation mit nur einer Datei

Der HTML-Code lautet wie folgt

Wenn der Benutzer eine Datei auswählt, generiert das Eingabeelement ein „Änderungs“-Ereignis, sodass wir dieses Ereignis abhören können:

<input type="file" id="fileinput" />
Nach dem Login kopieren

Wie Sie sehen können, FileApi ist sehr einfach zu verwenden, es fügt das Attribut „Dateien“ hinzu.

document.getElementById('fileinput').addEventListener('change', function(){
    var file = this.files[0];
    // This code is only for demo ...
    console.log("name : " + file.name);
    console.log("size : " + file.size);
    console.log("type : " + file.type);
    console.log("date : " + file.lastModified);
}, false);
Nach dem Login kopieren

Zusammenfassung: Das Attribut „Dateien“ ist nicht beschreibbar und kann nur seinen Inhalt lesen. Möglicherweise haben Sie dies bemerkt .files[0] können Sie die erste ausgewählte Datei des Benutzers abrufen.

1.2: Mehrere Dateien

Jetzt wollen wir alle vom Benutzer ausgewählten Dateiinformationen anzeigen.

Der HTML-Code lautet wie folgt

Wir müssen nur das Eingabeelement-Attribut „mehrere“ hinzufügen, das es Benutzern ermöglicht, mehrere Dateien zum Hochladen auszuwählen

<input type="file" id="fileinput" multiple="multiple" />
Nach dem Login kopieren

Zusammenfassung: Sie können auch hinzufügen das „accept“-Tag, um die Dateitypen zu filtern, die Benutzer hochladen können. Wenn Sie beispielsweise möchten, dass Benutzer nur Bilder hochladen, müssen Sie nur den MIME-Typ „image/*“ herausfiltern:

document.getElementById('fileinput').addEventListener('change', function(){
    for(var i = 0; i<this.files.length; i++){
        var file =  this.files[i];
        // This code is only for demo ...
        console.group("File "+i);
        console.log("name : " + file.name);
        console.log("size : " + file.size);
        console.log("type : " + file.type);
        console.log("date : " + file.lastModified);
        console.groupEnd();
    }
}, false);
Nach dem Login kopieren

1.3 Vorschau der Datei
<input type="file" id="fileinput" multiple="multiple" accept="image/*" />
Nach dem Login kopieren

Wir können beispielsweise vor dem Hochladen eine Vorschau der Datei anzeigen.

Nehmen Sie das Vorschaubild als Beispiel:

Der HTML-Code lautet wie folgt:

Verwenden Sie JavaScript, um Datei-Uploads zu verwalten.




    
    Preview images
    


Upload images ...

<input type="file" id="fileinput" multiple="multiple" accept="image/*" />
Nach dem Login kopieren

gallery.js

Die Funktion „previewImage“ zeigt die von der Datei ausgewählte Datei an Benutzer.

var uploadfiles = document.querySelector('#fileinput');
uploadfiles.addEventListener('change', function () {
    var files = this.files;
    for(var i=0; i<files.length; i++){
        previewImage(this.files[i]);
    }
}, false);
Nach dem Login kopieren

gallery.js

Wir haben das FileReader-Objekt eingeführt, um den Dateiinhalt asynchron zu lesen, indem wir den neuen FileReader zum Instanziieren des Objekts verwenden. und dann die Methode readAsUrl aufrufen, um die Dateidaten zu lesen. Die

onload-Methode wird wie ein Ereignis aufgerufen, nachdem der Dateiinhalt gelesen wurde, und dann wird der Dateiinhalt dem src-Attribut des Bildelements zugewiesen: aImg.src = e.target.result;
function previewImage(file) {
    var galleryId = "gallery";

    var gallery = document.getElementById(galleryId);
    var imageType = /image.*/;

    if (!file.type.match(imageType)) {
        throw "File Type must be an image";
    }

    var thumb = document.createElement("div");
    thumb.classList.add(&#39;thumbnail&#39;); // Add the class thumbnail to the created div

    var img = document.createElement("img");
    img.file = file;
    thumb.appendChild(img);
    gallery.appendChild(thumb);

    // 使用FileReader来显示图片内容
    var reader = new FileReader();
    reader.onload = (function(aImg) { return function(e) { aImg.src = e.target.result; }; })(img);
    reader.readAsDataURL(file);
}
Nach dem Login kopieren

2. Dateien hochladen

Wir verwenden XMLHttpRequest (Ajax), um Dateien hochzuladen .

Jede vom Benutzer ausgewählte Datei erstellt eine HTTP-Anfrage und sendet sie an den Server

Definieren Sie zunächst eine Methode, die XMLHttpRequest enthält um die Datei hochzuladen.

Diese Methode generiert eine Ajax-Anfrage (über die Post-Methode) an die angegebene URL und sendet den Dateiinhalt in der Datei „upload_file“. Anforderungsparameter. Wir können diesen Parameter über $_FILES['upload_file'] abrufen.
function uploadFile(file){
    var url = &#39;server/index.php&#39;;
    var xhr = new XMLHttpRequest();
    var fd = new FormData();
    xhr.open("POST", url, true);
    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4 && xhr.status == 200) {
            // Every thing ok, file uploaded
            console.log(xhr.responseText); // handle response.
        }
    };
    fd.append("upload_file", file);
    xhr.send(fd);
}
Nach dem Login kopieren

Jetzt verwenden wir die uploadFile-Methode, um die ausgewählte Datei hochzuladen.

Js ist wie folgt:

<input type="file" id="uploadfiles" multiple="multiple" />
Nach dem Login kopieren

PHP-Skript ist wie folgt:

var uploadfiles = document.querySelector('#uploadfiles');
uploadfiles.addEventListener('change', function () {
    var files = this.files;
    for(var i=0; i<files.length; i++){
        uploadFile(this.files[i]); //上传文件
    }
}, false);
Nach dem Login kopieren

3 . Laden Sie

if (isset($_FILES['upload_file'])) {
    if(move_uploaded_file($_FILES['upload_file']['tmp_name'], "datas/" . $_FILES['upload_file']['name'])){
        echo $_FILES['upload_file']['name']. " OK";
    } else {
        echo $_FILES['upload_file']['name']. " KO";
    }
    exit;
} else {
    echo "No files uploaded ...";
}
Nach dem Login kopieren

Alle Quellcodes

herunter

Das Obige stellt das Beispiel zum Hochladen einer HTML5-Datei vor, einschließlich des relevanten Inhalts. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

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ß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)

Verwenden Sie die Funktion File.length() von Java, um die Größe der Datei zu ermitteln Verwenden Sie die Funktion File.length() von Java, um die Größe der Datei zu ermitteln Jul 24, 2023 am 08:36 AM

Verwenden Sie die File.length()-Funktion von Java, um die Größe einer Datei zu ermitteln. Die Dateigröße ist eine sehr häufige Anforderung beim Umgang mit Dateioperationen. Java bietet eine sehr praktische Möglichkeit, die Größe einer Datei zu ermitteln, d. h. mithilfe der Länge(. )-Methode der File-Klasse. In diesem Artikel wird erläutert, wie Sie mit dieser Methode die Größe einer Datei ermitteln und entsprechende Codebeispiele angeben. Zuerst müssen wir ein File-Objekt erstellen, um die Datei darzustellen, deren Größe wir ermitteln möchten. So erstellen Sie ein File-Objekt: Filef

Vorbestellungen für die neue Nintendo Switch Lite-Aktualisierung sind möglich Vorbestellungen für die neue Nintendo Switch Lite-Aktualisierung sind möglich Jun 29, 2024 am 06:49 AM

Nintendo hat Vorbestellungen für die neueste Version der Switch Lite (aktuell 189,99 $ bei Amazon) eröffnet. Allerdings ist das Gerät derzeit noch nicht weltweit bestellbar. Um es noch einmal zusammenzufassen: Das Unternehmen hat vor knapp zwei Wochen die Switch Lite Hyrule Edition vorgestellt

Hongmeng native Anwendung zufälliger Poesie Hongmeng native Anwendung zufälliger Poesie Feb 19, 2024 pm 01:36 PM

Um mehr über Open Source zu erfahren, besuchen Sie bitte: 51CTO Hongmeng Developer Community https://ost.51cto.com Laufumgebung DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. Um eine Anwendung zu erstellen, klicken Sie auf Datei- >newFile->CreateProgect. Vorlage auswählen: [OpenHarmony] EmptyAbility: Geben Sie den Projektnamen, shici, den Namen des Anwendungspakets com.nut.shici und den Speicherort der Anwendung XXX ein (kein Chinesisch, Sonderzeichen oder Leerzeichen). CompileSDK10, Modell: Stage. Gerät

Was bedeutet Konsole? Was bedeutet Konsole? Sep 05, 2023 pm 02:43 PM

Konsole bedeutet Konsole. Es handelt sich um ein Gerät oder eine Software, die mit einem Computersystem interagiert. Es handelt sich normalerweise um ein Gerät mit einer Tastatur und einem Bildschirm zur Eingabe und Ausgabe von Informationen. Die Konsole wurde ursprünglich für große Computersysteme verwendet und später auch für persönliche Zwecke verwendet Computern und Servern kann es Benutzern helfen, Computersysteme zu verwalten und zu warten sowie Betriebssysteme und Anwendungen zu installieren, Programme zu debuggen usw.

So konvertieren Sie einen PHP-Blob in eine Datei So konvertieren Sie einen PHP-Blob in eine Datei Mar 16, 2023 am 10:47 AM

So konvertieren Sie einen PHP-Blob in eine Datei: 1. Erstellen Sie eine PHP-Beispieldatei; 2. Über „function blobToFile(blob) {return new File([blob], 'screenshot.png', { type: 'image/jpeg' }) } ”-Methode kann zum Konvertieren von Blob in eine Datei verwendet werden.

Konsolenausgabe mit der Console.Clear-Funktion in C# löschen Konsolenausgabe mit der Console.Clear-Funktion in C# löschen Nov 18, 2023 am 11:00 AM

Verwenden Sie die Console.Clear-Funktion in C#, um die Konsolenausgabe zu löschen. In C#-Konsolenanwendungen müssen wir häufig die Ausgabeinformationen in der Konsole löschen, um neue Inhalte anzuzeigen oder eine bessere Benutzererfahrung zu bieten. C# bietet die Funktion Console.Clear zur Implementierung dieser Funktion, die die Ausgabe in der Konsole löschen und die Schnittstelle wieder leer machen kann. Das Aufrufformat der Console.Clear-Funktion lautet wie folgt: Console.Clear(); Diese Funktion erfordert keine Eingabe

Benennen Sie Dateien mit der Java-Funktion File.renameTo() um Benennen Sie Dateien mit der Java-Funktion File.renameTo() um Jul 25, 2023 pm 03:45 PM

Verwenden Sie die Funktion File.renameTo() von Java, um Dateien umzubenennen. In der Java-Programmierung müssen wir häufig Dateien umbenennen. Java stellt die File-Klasse für die Verarbeitung von Dateioperationen bereit, und die Funktion renameTo() kann Dateien problemlos umbenennen. In diesem Artikel wird die Verwendung der Java-Funktion File.renameTo() zum Umbenennen von Dateien vorgestellt und entsprechende Codebeispiele bereitgestellt. Die Funktion File.renameTo() ist eine Methode der File-Klasse.

Nintendo kündigt vor der Veröffentlichung von Switch 2 eine neue Aktualisierung von Switch Lite an Nintendo kündigt vor der Veröffentlichung von Switch 2 eine neue Aktualisierung von Switch Lite an Jun 20, 2024 am 09:41 AM

Nintendo hat gestern während seines letzten Nintendo Direct-Events zahlreiche Spiele vorgestellt, eine Übersicht darüber haben wir separat bereitgestellt. Darüber hinaus kündigte das Unternehmen möglicherweise auch eine neue Version der Switch Lite (aktuell 194,93 $ bei Amazon) an

See all articles