Home >Backend Development >PHP Tutorial >Detailed explanation of uploading files in php_PHP tutorial

Detailed explanation of uploading files in php_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:53:23846browse

The upload file 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]


        


Upload Demo:
         


                                          
              
                                                                                             

Description:
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 tag"

2. php part

upload.php
[php]
$DST_DIR = '/data/upload/';
if ($_FILES['img']['name'] != '') {
If ($_FILES['img']['error'] > 0) {
           echo "Upload failed";
}  
else {
If (move_uploaded_file($_FILES['img']['tmp_name'], $DST_DIR.$_FILES['img']['name'])) {
                 echo "Upload successful";
         } 
         else {
                  echo "Upload failed";
         } 
}  
}
else {
echo "Please upload files";
}
Description:
1. Global variable $_FILE
This array contains information about all uploaded files.
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
When its value is 0, no errors occurred and the file was uploaded successfully.
UPLOAD_ERR_INI_SIZE
If its value is 1, the uploaded file exceeds the limit of the upload_max_filesize option in php.ini.
UPLOAD_ERR_FORM_SIZE
With a value of 2, the size of the uploaded file exceeds the value specified by the MAX_FILE_SIZE option in the HTML form.
UPLOAD_ERR_PARTIAL
With a value of 3, the file is only partially uploaded.
UPLOAD_ERR_NO_FILE
Its value is 4 and no files were uploaded.
UPLOAD_ERR_NO_TMP_DIR
The value is 6 and the temporary folder cannot be found. Introduced in PHP 4.3.10 and PHP 5.0.3.
UPLOAD_ERR_CANT_WRITE
Its value is 7 and the file write failed. Introduced in PHP 5.1.0.

3.move_uploaded_file
After the file is uploaded, it will be stored in the default temporary directory of the server by default (unless upload_tmp_dir in php.ini is set to another path), and the file name is random. If the file has not been moved or renamed, it will be deleted at the end of the form request. Therefore, the temporary file needs to be moved through move_uploaded_file.
After experiments, copy can also complete the function of move_uploaded_file. Why use move_uploaded_file? It is said that move_uploaded_file will do some checks on the uploaded file to prevent some security vulnerabilities caused by copying. But what specific problems will copying cause? I didn't find it. If you know any students, please leave a message.
Anyway, since PHP has given a specific function, it must make sense, so let’s use it this way first.

3. Security Check
You can consider using $_FILES['img']['size'] and $_FILES['img']['type'] to do some security checks on uploaded files, such as limiting the upload type, uploading file size, etc.

Author;qmhball

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/478030.htmlTechArticleThe upload file 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 on the server...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn