Original address:
http://www.webcodegeeks.com/html5/html5-file-upload-example/
This article will show you how to use HTML5 to read the file information selected by the user and upload the file to On a server.
FileApi is one of the most interesting new features in HTML5. We can read the information about the displayed file before it is uploaded to the server, and can send the file without using a post form.
The following will show how to read the file information selected by the user and upload these files asynchronously using Ajax.
1. Display file information
1.1: When there is only one file
The HTML code is as follows
<input type="file" id="fileinput">
When the user selects a file, the input element will generate a "change" event, so we can listen to this event:
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);
As you can see, FileApi is very easy to use Simple, it adds the "files" attribute to the input element.
Summary: The "files" attribute is not writable and can only read its contents. You may have noticed that you can get it by using this.files[0] The first file that the user has selected.
1.2: Multiple files
Now we want to display all the file information selected by the user.
The HTML code is as follows
<input type="file" id="fileinput" multiple>
We only need to add the "multiple" attribute to the input element, which allows users to select multiple files to upload.
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 console.log : file.name file.size file.type file.lastmodified console.groupend false><p><span>Summary: You can also add the "accept" tag to filter the file types that users can upload. For example, When you only want users to upload images, you only need to filter out the MIME type "image/*":</span></p> <pre name="code"><input type="file" id="fileinput" multiple accept="image/*">
1.3 Preview files
We can both read file information and read files Content. For example, we can preview files before uploading.
Take the preview image as an example:
HTML code is as follows:
<meta charset="UTF-8"> <title>Preview images</title> <style> #gallery .thumbnail{ width:150px; height: 150px; float:left; margin:2px; } #gallery .thumbnail img{ width:150px; height: 150px; } </style> <h2 id="Upload-images">Upload images ...</h2> <input type="file" id="fileinput" multiple accept="image/*"> <div id="gallery"></div> <script src="gallery.js"></script>
Use JavaScript to manage file uploads.
gallery.js
var uploadfiles = document.querySelector('#fileinput'); uploadfiles.addEventListener('change', function () { var files = this.files; for(var i=0; i<files.length i previewimage false><p><span>previewImage function will display the file selected by the user.</span></p> <p><span>gallery.js</span></p> <pre name="code">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('thumbnail'); // 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); }
We introduced the FileReader object to read the file content asynchronously. Use new FileReader to instantiate the object, and then call the readAsUrl method to read The data of the file. The
onload method is called like an event after the file content is read, and then the file content will be assigned to the src attribute of the image element: aImg.src = e.target.result;
2. Upload files
We use XMLHttpRequest (Ajax) to upload files.
Every file selected by the user will create an HTTP request and send it to the server.
First, define a method containing XMLHttpRequest To upload files.
function uploadFile(file){ var url = 'server/index.php'; 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); }
This method will generate an ajax request (via post method) to the specified url, and send the file content in the "upload_file" request parameter. We can pass $_FILES['upload_file'] To get this parameter.
Now, we will use the uploadFile method to upload the selected file.
<input type="file" id="uploadfiles" multiple>
Js is as follows:
var uploadfiles = document.querySelector('#uploadfiles'); uploadfiles.addEventListener('change', function () { var files = this.files; for(var i=0; i<files.length i uploadfile false><p><span>PHP script is as follows:</span></p> <pre name="code">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 ..."; }
3. Download
All source code
The above introduces the HTML5 file upload example, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

What’s still popular is the ease of use, flexibility and a strong ecosystem. 1) Ease of use and simple syntax make it the first choice for beginners. 2) Closely integrated with web development, excellent interaction with HTTP requests and database. 3) The huge ecosystem provides a wealth of tools and libraries. 4) Active community and open source nature adapts them to new needs and technology trends.

PHP and Python are both high-level programming languages that are widely used in web development, data processing and automation tasks. 1.PHP is often used to build dynamic websites and content management systems, while Python is often used to build web frameworks and data science. 2.PHP uses echo to output content, Python uses print. 3. Both support object-oriented programming, but the syntax and keywords are different. 4. PHP supports weak type conversion, while Python is more stringent. 5. PHP performance optimization includes using OPcache and asynchronous programming, while Python uses cProfile and asynchronous programming.

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

PHP remains important in the modernization process because it supports a large number of websites and applications and adapts to development needs through frameworks. 1.PHP7 improves performance and introduces new features. 2. Modern frameworks such as Laravel, Symfony and CodeIgniter simplify development and improve code quality. 3. Performance optimization and best practices further improve application efficiency.

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values and handle functions that may return null values.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

WebStorm Mac version
Useful JavaScript development tools

Atom editor mac version download
The most popular open source editor

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software