php file upload
The file upload function consists of two parts, the HTML page and the PHP processing part. The HTML page mainly allows users to select the files to be uploaded, and the PHP part allows us to store the files in the specified directory on the server.
one. HTML part
upload.html
<html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> </head> <body> 上传Demo: <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="img" /> <input type="submit" name="submit" value="上传" /> </form> </body> </html>
Instructions:
1. Type="file" in the Input tag indicates that the input is processed as a file.
2.Enctype specifies which content type to use when submitting this form. When the form requires binary data, such as file content, please use "multipart/form-data". This attribute is necessary if you want to upload a file.
For more information about enctype, see "enctype attribute of HTML <form> tag"
2. PHP part
upload.php
<?php $DST_DIR = '/data/upload/'; if ($_FILES['img']['name'] != '') { if ($_FILES['img']['error'] > 0) { echo "上传失败"; } else { if (move_uploaded_file($_FILES['img']['tmp_name'], $DST_DIR.$_FILES['img']['name'])) { echo "上传成功"; } else { echo "上传失败"; } } } else { echo "请上传文件"; }
Description:
1. Global variable $_FILE
This array contains all uploaded file information.
Let’s assume that the name of the file upload field is img as shown in the above example. Then
$_FILES['img']['name']
The original name of the file uploaded by the client.
$_FILES['img']['type']
The MIME type of the file, if the browser provides this information. An example is "image/gif". However, this MIME type is not checked on the PHP side, so don't take it for granted. $_FILES['img']['size']: The size of the uploaded file, in bytes.
$_FILES['img']['size']
The size of the uploaded file, in bytes.
$_FILES['img']['tmp_name']
The temporary file name stored on the server after the file is uploaded.
$_FILES['img']['error']
Error code related to the file upload.
2. About error codes
$_FILES['img']['error'] has the following types
UPLOAD_ERR_OK
Its value is 0, no error occurs, and the file is uploaded successfully. .
UPLOAD_ERR_INI_SIZE
Its value is 1, and the uploaded file exceeds the value limited by the upload_max_filesize option in php.ini.
UPLOAD_ERR_FORM_SIZE
Its value is 2, and 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, no file is uploaded.
UPLOAD_ERR_NO_TMP_DIR
Its value is 6, the temporary folder cannot be found. PHP 4.3.10 and PHP 5.0.3 introduced.
UPLOAD_ERR_CANT_WRITE
Its value is 7, file writing failed. PHP 5.1.0 introduced.