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

Detailed explanation of uploading files in php_PHP tutorial

Jul 13, 2016 pm 05:53 PM
html php upload host Function and deal with document use composition Detailed explanation part page

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 of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

CakePHP Project Configuration CakePHP Project Configuration Sep 10, 2024 pm 05:25 PM

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

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

CakePHP Date and Time CakePHP Date and Time Sep 10, 2024 pm 05:27 PM

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP File upload CakePHP File upload Sep 10, 2024 pm 05:27 PM

To work on file upload we are going to use the form helper. Here, is an example for file upload.

CakePHP Routing CakePHP Routing Sep 10, 2024 pm 05:25 PM

In this chapter, we are going to learn the following topics related to routing ?

Discuss CakePHP Discuss CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

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

CakePHP Creating Validators CakePHP Creating Validators Sep 10, 2024 pm 05:26 PM

Validator can be created by adding the following two lines in the controller.

See all articles