Home Backend Development PHP Tutorial Chapter 13 Uploading Files_PHP Tutorial

Chapter 13 Uploading Files_PHP Tutorial

Jul 13, 2016 am 10:31 AM
aspnet software programming

Learning points:
1.PHP upload configuration
2.$_FILES array
3.PHP upload function

Although most people think of the Web as only consisting of web pages, the HTTP protocol can actually transfer any file, such as office
documents, PDFs, executables, AVIs, compressed files, and various other file types. While FTP has historically been the standard way to upload files to servers, uploading files via the web is also becoming increasingly popular.

1. PHP upload configuration

There are some configuration directives that can be used to fine-tune PHP's file upload functionality. These directives are used to determine whether

PHP's file upload is enabled, the maximum allowed upload file size, the maximum allowable script memory allocation, and various other important
resources.
1.file_uploads=on|off: Determine whether the PHP script on the server can accept file uploads.
2.max_execution_time=integer: The maximum time, in seconds, that a PHP script can execute before registering a fatal error
.
3.memory_limit=integer: Set the maximum memory that the script can allocate, in MB. This prevents
runaway scripts from monopolizing server memory.
4.upload_max_filesize=integer: Set the maximum size of uploaded files in MB. This directive must be
smaller than post_max_size.
5.upload_tmp_dir=string: Set the uploaded file to be stored in a temporary location on the server before processing,
until the file is moved to the final destination.
6.post_max_size=integer: Determine the maximum size of information that can be accepted through the POST method, in MB as
unit.

2. $_FILES array

HTML of upload form

<span <</span><span form </span><span enctype</span><span ="multipart/form-data"</span><span  action</span><span ="upload.php"</span><span  method</span><span ="post"</span><span ></span>
<span <</span><span input </span><span type</span><span ="hidden"</span><span  name</span><span ="MAX_FILE_SIZE"</span><span  value</span><span ="1000000"</span> <span /></span><span 
上传文件: </span><span <</span><span input </span><span type</span><span ="file"</span><span  name</span><span ="userfile"</span> <span /></span>
<span <</span><span input </span><span type</span><span ="submit"</span><span  value</span><span ="上传"</span> <span /></span>
<span </</span><span form</span><span ></span>
Copy after login
ENCTYPE="multipart/form-data", this is the fixed writing method, otherwise the file upload will fail

ACTION="upload.php", define the path of the program file to be processed
METHOD="post", Define the transmission method as POST. Generally, Form submission data is set to POST

, this is a hidden field that

defines the upper limit of uploaded file size. When this value is exceeded, the upload fails. It must be defined in front of the file upload domain.
And the value defined here cannot exceed the value set by upload_max_filesize in the php.ini file, otherwise it will be meaningless. (Note: The value of MAX_FILE_SIZE is only for the browser A suggestion, in fact it can be bypassed by simply
so don't rely on browser restrictions. In fact, the maximum value for uploading files in PHP.ini settings is. It won't work. But it's better to add MAX_FILE_SIZE to the form, because it can avoid
the trouble of users spending time waiting to upload a large file only to find that the file is too big)
, this is the file upload domain, the Type attribute must be set to file, but the Name attribute
can be customized, this value will be used in the code file.


$_FILES super global variable, which stores various upload-related information, which is crucial for files uploaded to the server through PHP scripts

.

1. The value stored in the $_FILES["userfile"]["tmp_name"] variable is the location where the file is temporarily stored

in the Web server.
2. The value stored in the $_FILES["userfile"]["n name"] variable is the file name in the user system.
3. The value stored in the $_FILES["userfile"]["size"] variable is the byte size of the file.
4. The value stored in the $_FILES["userfile"]["type"] variable is the MIME type of the file, for example: text/plain
or image/gif.
5. The value stored in the $_FILES["userfile"]["error"] variable will be any error code related to file upload.
This is a new feature added in PHP4.2.0. error provides some array constants respectively: 0: means no error occurred, 1:
means the size of the uploaded file exceeds the agreed value. The maximum file size is specified in the PHP configuration file, the directive
is upload_max_filesize. 2: Indicates that the uploaded file size exceeds the maximum value specified by the MAX_FILE_SIZE element of the HTML form. 3: Indicates that the file is only partially uploaded. 4: Indicates that no files are uploaded.



<?<span php
</span><span print_r</span>(<span $_FILES</span><span );
</span>?>
Copy after login
3. PHP upload function

PHP's file system library provides a large number of file processing functions. In addition, PHP also provides two functions dedicated to the file upload process: is_uploaded_file() and move_uploaded_file(). 1. Determine whether to upload the file: is_uploaded_file()


2. Move uploaded files: move_uploaded_file()

<?<span php
</span><span if</span> (<span is_uploaded_file</span>(<span $_FILES</span>["userfile"]["tmp_name"<span ])) {
    </span><span echo</span> '已经上传到临时文件夹'<span ;
} </span><span else</span><span  {
    </span><span echo</span> '失败'<span ;
}
</span>?>
Copy after login
Note: The article comes from Li Yanhui’s PHP video tutorial. This article is for communication only and may not be used for commercial purposes, otherwise you will be responsible for the consequences.

<?<span php
</span><span if</span> (!<span move_uploaded_file</span>(<span $_FILES</span>["userfile"]["tmp_name"],<span $_FILES</span>["userfile"]["name"<span ])) {
    </span><span echo</span> '移动失败'<span ;
    </span><span exit</span><span ;
}
</span>?>
Copy after login

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/759626.htmlTechArticleLearning points: 1.PHP upload configuration 2.$_FILES array 3.PHP upload function Although most people think that Web Contains only web pages, but the HTTP protocol can actually transfer any file, such as office documents...
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

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

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)

The combination of Vue.js and ASP.NET provides tips and suggestions for performance optimization and expansion of web applications. The combination of Vue.js and ASP.NET provides tips and suggestions for performance optimization and expansion of web applications. Jul 29, 2023 pm 05:19 PM

The combination of Vue.js and ASP.NET provides tips and suggestions for performance optimization and expansion of web applications. With the rapid development of web applications, performance optimization has become an indispensable and important task for developers. As a popular front-end framework, Vue.js combined with ASP.NET can help us achieve better performance optimization and expansion. This article will introduce some tips and suggestions, and provide some code examples. 1. Reduce HTTP requests The number of HTTP requests directly affects the loading speed of web applications. pass

Ten ways generative AI will change software development Ten ways generative AI will change software development Mar 11, 2024 pm 12:10 PM

Translator | Reviewed by Chen Jun | Chonglou In the 1990s, when people mentioned software programming, it usually meant choosing an editor, checking the code into the CVS or SVN code base, and then compiling the code into an executable file. Corresponding integrated development environments (IDEs) such as Eclipse and Visual Studio can integrate programming, development, documentation, construction, testing, deployment and other steps into a complete software development life cycle (SDLC), thus improving the work of developers. efficiency. In recent years, popular cloud computing and DevSecOps automation tools have improved developers' comprehensive capabilities, making it easier for more enterprises to develop, deploy and maintain software applications. Today, generative AI is the next generation development

MySQL connection pool usage and optimization techniques in ASP.NET programs MySQL connection pool usage and optimization techniques in ASP.NET programs Jun 30, 2023 pm 11:54 PM

How to correctly use and optimize the MySQL connection pool in ASP.NET programs? Introduction: MySQL is a widely used database management system that features high performance, reliability, and ease of use. In ASP.NET development, using MySQL database for data storage is a common requirement. In order to improve the efficiency and performance of database connections, we need to correctly use and optimize the MySQL connection pool. This article will introduce how to correctly use and optimize the MySQL connection pool in ASP.NET programs.

How to reconnect to MySQL in ASP.NET program? How to reconnect to MySQL in ASP.NET program? Jun 29, 2023 pm 02:21 PM

How to reconnect to MySQL in ASP.NET program? In ASP.NET development, it is very common to use the MySQL database. However, due to network or database server reasons, the database connection may sometimes be interrupted or time out. In this case, in order to ensure the stability and reliability of the program, we need to re-establish the connection after the connection is disconnected. This article will introduce how to reconnect MySQL connections in ASP.NET programs. To reference the necessary namespaces first, reference them at the head of the code file

The combination of Vue.js and ASP.NET enables the development and deployment of enterprise-level applications The combination of Vue.js and ASP.NET enables the development and deployment of enterprise-level applications Jul 29, 2023 pm 02:37 PM

The combination of Vue.js and ASP.NET enables the development and deployment of enterprise-level applications. In today's rapidly developing Internet technology field, the development and deployment of enterprise-level applications has become more and more important. Vue.js and ASP.NET are two technologies widely used in front-end and back-end development. Combining them can bring many advantages to the development and deployment of enterprise-level applications. This article will introduce how to use Vue.js and ASP.NET to develop and deploy enterprise-level applications through code examples. First, we need to install

How to correctly configure and use MySQL connection pool in ASP.NET program? How to correctly configure and use MySQL connection pool in ASP.NET program? Jun 29, 2023 pm 12:56 PM

How to correctly configure and use MySQL connection pool in ASP.NET program? With the development of the Internet and the increase in data volume, the demand for database access and connections is also increasing. In order to improve the performance and stability of the database, connection pooling has become an essential technology. This article mainly introduces how to correctly configure and use the MySQL connection pool in ASP.NET programs to improve the efficiency and response speed of the database. 1. The concept and function of connection pooling. Connection pooling is a technology that reuses database connections. At the beginning of the program,

Using and optimizing transaction performance of MySQL connection pool in ASP.NET Using and optimizing transaction performance of MySQL connection pool in ASP.NET Jun 30, 2023 pm 12:12 PM

How to correctly use and optimize the transaction performance of MySQL connection pool in ASP.NET programs? In ASP.NET programs, database transactions are a very important part. Transactions ensure the consistency and integrity of the database while also providing better performance. When using a MySQL database, it is essential to use connection pools to manage connection resources and optimize performance. First, let us briefly understand the concept of MySQL connection pool. The connection pool is a buffer pool of a group of connections. By pre-initializing a certain number of

Recommended configuration for ASP.NET development using Visual Studio on Linux Recommended configuration for ASP.NET development using Visual Studio on Linux Jul 06, 2023 pm 08:45 PM

Overview of the recommended configuration for using Visual Studio for ASP.NET development on Linux: With the development of open source software and the popularity of the Linux operating system, more and more developers are beginning to develop ASP.NET on Linux. As a powerful development tool, Visual Studio has always occupied a dominant position on the Windows platform. This article will introduce how to configure VisualStudio for ASP.NE on Linux

See all articles