Principle of uploading files in php
File upload principle
Upload the client's files to the server, and then upload the server's temporary files to the specified Table of contents
Client configuration
Submit form
The sending method of the form is post
Add enctype="multipart/form-data"
Server-side configuration (Recommended learning: PHP programming from entry to proficiency)
file_uploads = On, supports HTTP upload
uoload_tmp_dir =, temporary file storage directory
upload_max_filesize = 2M, the maximum size of files allowed to be uploaded
max_file_uploads = 20, allows one upload to Maximum number of files
post_max_size = 8M, the maximum value of data sent in post mode
max_execution_time = -1, sets the maximum execution time allowed before the script is terminated by the parser, in seconds, to prevent The program is poorly written and consumes server resources. -1 represents infinity
max_input_time = 60, the maximum time allowed for the script to parse input data, in seconds
max_input_nesting_level = 64, set the nesting depth of input variables
max_input_vars_ = 1000, how many input variables are accepted (the limit applies to the $_GET, $_POST and $_COOKIE superglobal variables respectively, will cause E_WARNING to be generated, and more input variables will be truncated from the request.
memory_limit = 128M, the maximum independent memory usage of a single thread. That is, a web request gives the thread the definition of the maximum memory usage
Error message description
UPLOAD_ERR_OK : Its value is 0, no error occurs, the file upload is successful
UPLOAD_ERR_INI_SIZE: Its value is 1, the uploaded file exceeds the value limited by the upload_max_filesize option in php.ini
UPLOAD_ERR_FORM_SIZE: Its value is 2, the size of the uploaded file exceeds the value specified by the MAX_FILE_SIZE option in the HTML form
UPLOAD_ERR_PARTIAL: its value is 3, and only part of the file is uploaded
UPLOAD_ERR_NO_FILE: its value is 4, and there is no file Uploaded
UPLOAD_ERR_NO_TMP_DIR: Its value is 6, temporary folder not found
UPLOAD_ERR_CANT_WRITE: Its value is 7, file write failed
UPLOAD_ERR_EXTENSION: Its value is 8 , the uploaded file was interrupted by the PHP extension
Client limit
Limit file upload via form hidden fieldMaximum size of file upload
<input type='hidden' name='MAX_FILE_SIZE' VALUE='字节数' />
via accept Attributes limit the type of uploaded files
<input type='file' name='myFile' accept='文件的MIME类型' />
Restrictions on the client side. Users can modify the code on the web page before uploading, so it has no practical significance. It should be restricted on the server side
Limit the size of uploaded files
Restrict the uploaded file type
Detect whether it is a real image type
Detect whether it is uploaded by HTTP POST method
The above is the detailed content of Principle of uploading files in php. For more information, please follow other related articles on the PHP Chinese website!

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

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.
