


So verwenden Sie Ajax, um die Funktion zum Hochladen großer Dateien zu implementieren
Dieses Mal zeige ich Ihnen, wie Sie mit Ajax die Funktion zum Hochladen großer Dateien implementieren und welche Vorsichtsmaßnahmen für das Hochladen großer Dateien mit Ajax gelten Praktischer Koffer. Stehen Sie auf und werfen Sie einen Blick darauf.
Jeder weiß, dass PHP Einschränkungen beim Hochladen von Dateien hat. Wenn die php.ini-Datei nicht geändert wurde, beträgt die Standard-Upload-Größenbeschränkung 2 MB. So laden Sie beispielsweise eine große Datei hoch mehr als 1 GB, was durch Ausschneiden und Hochladen großer Dateien gelöst werden kann.
Was ist das Ausschneiden und Hochladen großer Dateien?
Prinzip: Verwenden Sie die neuen Funktionen von HTML5, um den Dateiinhalt in Segmente mit Binärinformationen zu schneiden und dann jedes Mal ein Segment auf den Server hochzuladen. Der Server muss nur die Binärinformationen integrieren und speichern Wir laden jedes Mal in eine Datei hoch, dann ist die endgültige Datei die hochgeladene Datei.
Da die Standard-Upload-Größe von php.ini 2 MB beträgt, dauert es lange, wenn ich jeden Stapel auf 2 MB hochlade. Hier beschränke ich die Größe auf 20 MB und die maximalen Postdaten 28M, was zum Testen praktisch ist. Wenn seine Parameter während der tatsächlichen Entwicklung nicht geändert werden können, dürfen die in jedem Stapel hochgeladenen Daten die Höchstgrenze nicht überschreiten.
post_max_size = 28M upload_max_filesize = 20M
Ich habe es in Nginx hochgeladen, daher muss ich auch die NginxKonfigurationsdatei/etc/nginx/nginx.con
//在http{} 里面加即可 client_max_body_size 50m #客户端最大上传大小 50M
JavaScript Das File-Objekt in
Wir haben diese API im vorherigen Artikel verwendet. Das File-Objekt speichert die Größe, den Namen, den Typ und andere Informationen der DateiJavaScript Das Blob-Objekt
Das Blob-Objekt ist ein Binärobjekt und auch die übergeordnete Klasse des File-Objekts. Es gibt eine sehr wichtige Methode im Blob-Objekt: die Methode „slice()“. Mit dieser Methode können wir den Dateiinhalt in Binärinformationen zerlegen. Die Methode „slice()“ akzeptiert drei Parameter: einen Start-Offset, einen End-Offset und einen optionalen MIME-Typ. Wenn der MIME-Typ nicht festgelegt ist, hat das neue Blob-Objekt denselben MIME-Typ wie das übergeordnete Objekt. Seite index.php hochladen:nbsp;html> <meta> <meta> <title>大文件切割上传</title> <link> <script> function selfile(){ const LENGTH = 1024 * 1024 * 10;//每次上传的大小 var file = document.getElementsByName('video')[0].files[0];//文件对象 var filename=document.getElementsByName('video')[0].files[0].name; var totalSize = file.size;//文件总大小 var start = 0;//每次上传的开始字节 var end = start + LENGTH;//每次上传的结尾字节 var fd = null//创建表单数据对象 var blob = null;//二进制对象 var xhr = null;//xhr对象 while(start < totalSize){ fd = new FormData();//每一次需要重新创建 xhr = new XMLHttpRequest();//需要每次创建并设置参数 xhr.open('POST','upload.php',false); blob = file.slice(start,end);//根据长度截取每次需要上传的数据 fd.append('video',blob);//添加数据到fd对象中 fd.append('filename',filename); //获取文件的名称 xhr.send(fd);//将fd数据上传 //重新设置开始和结尾 start = end; end = start + LENGTH; } } </script> <h1 id="大文件切割上传">大文件切割上传</h1> <input>Datenseite hochladen.php:
<?php /** * 大文件切割上传,把每次上传的数据合并成一个文件 */ $filename = './uploads/'.$_POST['filename'];//确定上传的文件名 //第一次上传时没有文件,就创建文件,此后上传只需要把数据追加到此文件中 if(!file_exists($filename)){ move_uploaded_file($_FILES['video']['tmp_name'],$filename); }else{ file_put_contents($filename,file_get_contents($_FILES['video']['tmp_name']),FILE_APPEND); } ?>Erstellen Sie vor dem Testen den Upload-Ordner Wenn es sich um ein Linux-System handelt, denken Sie daran, Berechtigungen für Uploads zu erteilen.
sudo chmod -R 777 uoloads/ //赋予uploads文件夹 777 权限 -R 递归子文件Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln die chinesische PHP-Website! Empfohlene Lektüre:
So verwenden Sie Ajax, um asynchron zu prüfen, ob der Benutzername dupliziert ist
Ajax sollte das erhalten JSON-Daten als undefiniert. Verwendung von
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Ajax, um die Funktion zum Hochladen großer Dateien zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

Python und JavaScript haben ihre eigenen Vor- und Nachteile in Bezug auf Gemeinschaft, Bibliotheken und Ressourcen. 1) Die Python-Community ist freundlich und für Anfänger geeignet, aber die Front-End-Entwicklungsressourcen sind nicht so reich wie JavaScript. 2) Python ist leistungsstark in Bibliotheken für Datenwissenschaft und maschinelles Lernen, während JavaScript in Bibliotheken und Front-End-Entwicklungsbibliotheken und Frameworks besser ist. 3) Beide haben reichhaltige Lernressourcen, aber Python eignet sich zum Beginn der offiziellen Dokumente, während JavaScript mit Mdnwebdocs besser ist. Die Wahl sollte auf Projektbedürfnissen und persönlichen Interessen beruhen.

Die Verschiebung von C/C zu JavaScript erfordert die Anpassung an dynamische Typisierung, Müllsammlung und asynchrone Programmierung. 1) C/C ist eine statisch typisierte Sprache, die eine manuelle Speicherverwaltung erfordert, während JavaScript dynamisch eingegeben und die Müllsammlung automatisch verarbeitet wird. 2) C/C muss in den Maschinencode kompiliert werden, während JavaScript eine interpretierte Sprache ist. 3) JavaScript führt Konzepte wie Verschlüsse, Prototypketten und Versprechen ein, die die Flexibilität und asynchrone Programmierfunktionen verbessern.

Unterschiedliche JavaScript -Motoren haben unterschiedliche Auswirkungen beim Analysieren und Ausführen von JavaScript -Code, da sich die Implementierungsprinzipien und Optimierungsstrategien jeder Engine unterscheiden. 1. Lexikalanalyse: Quellcode in die lexikalische Einheit umwandeln. 2. Grammatikanalyse: Erzeugen Sie einen abstrakten Syntaxbaum. 3. Optimierung und Kompilierung: Generieren Sie den Maschinencode über den JIT -Compiler. 4. Führen Sie aus: Führen Sie den Maschinencode aus. V8 Engine optimiert durch sofortige Kompilierung und versteckte Klasse.

Zu den Anwendungen von JavaScript in der realen Welt gehören die serverseitige Programmierung, die Entwicklung mobiler Anwendungen und das Internet der Dinge. Die serverseitige Programmierung wird über node.js realisiert, die für die hohe gleichzeitige Anfrageverarbeitung geeignet sind. 2. Die Entwicklung der mobilen Anwendungen erfolgt durch reaktnative und unterstützt die plattformübergreifende Bereitstellung. 3.. Wird für die Steuerung von IoT-Geräten über die Johnny-Five-Bibliothek verwendet, geeignet für Hardware-Interaktion.

Ich habe eine funktionale SaaS-Anwendung mit mehreren Mandanten (eine EdTech-App) mit Ihrem täglichen Tech-Tool erstellt und Sie können dasselbe tun. Was ist eine SaaS-Anwendung mit mehreren Mietern? Mit Multi-Tenant-SaaS-Anwendungen können Sie mehrere Kunden aus einem Sing bedienen

Dieser Artikel zeigt die Frontend -Integration mit einem Backend, das durch die Genehmigung gesichert ist und eine funktionale edtech SaaS -Anwendung unter Verwendung von Next.js. erstellt. Die Frontend erfasst Benutzerberechtigungen zur Steuerung der UI-Sichtbarkeit und stellt sicher, dass API-Anfragen die Rollenbasis einhalten

JavaScript ist die Kernsprache der modernen Webentwicklung und wird für seine Vielfalt und Flexibilität häufig verwendet. 1) Front-End-Entwicklung: Erstellen Sie dynamische Webseiten und einseitige Anwendungen durch DOM-Operationen und moderne Rahmenbedingungen (wie React, Vue.js, Angular). 2) Serverseitige Entwicklung: Node.js verwendet ein nicht blockierendes E/A-Modell, um hohe Parallelitäts- und Echtzeitanwendungen zu verarbeiten. 3) Entwicklung von Mobil- und Desktop-Anwendungen: Die plattformübergreifende Entwicklung wird durch reaktnative und elektronen zur Verbesserung der Entwicklungseffizienz realisiert.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung