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!