Configure php. ini to implement php file Upload

Source: Internet
Author: User
Tags http file upload php file upload
This article describes how to configure php. ini to implement the php file upload function. It involves the upload_tmp_dir, upload_max_filesize, post_max_size, and other options in the php. ini configuration file. these options are critical to the success or failure of file upload. Let's take the Windows version of php.5.3.5 as an example.

Configuration options of file upload in php. ini

Use a text tool (EditPlus recommended) to open the php. ini configuration File and find File Uploads. the following three options are available in this area:

File_uploads = On

Whether to allow HTTP File upload. The default value is On. this option cannot be set to Off.

Upload_tmp_dir =

Temporary directory for file upload. If this parameter is not specified, PHP uses the default temporary directory. This option is empty by default. this option is easy to forget when you manually configure the PHP runtime environment. if this option is not configured, the file upload function cannot be implemented. you must assign a value to this option, for example, upload_tmp_dir = "d:/fileuploadtmp" indicates that there is a fileuploadtmp directory under the d directory, and the read and write permissions are granted to this directory.

Upload_max_filesize = 2 M

The maximum size of the uploaded file. The default value of this option is 2 M, that is, the file size is 2 M. If you want to upload a 50 M file, you must set upload_max_filesize = 50 M.
However, if you only set upload_max_filesize = 50 M, you still cannot upload large files. you must modify the post_max_size option in the php. ini file.

Continue to search for Data Handling in php. ini. there is one option in this region:

Post_max_size = 8 M

The maximum value that can be received by posting a form to PHP, including all values in the form. The default value is 8 MB. If the POST data exceeds the limit, $ _ POST and $ _ FILES will be empty.
To upload a large file, you must set the option value to be greater than the value of the upload_max_filesize option. for example, if you set upload_max_filesize = 50 M, you can set post_max_size = 100 M.
In addition, if the memory limit is enabled, this value should be smaller than the value of the memory_limit option.

Continue to search for Resource Limits in php. ini. There are three options in this region:

Max_execution_time = 30

The maximum running time (in seconds) of each PHP page. the default value is 30 seconds. When we upload a large file, such as a 50 m file, it may take several minutes to complete the upload, but the php default page's longest execution time is 30 seconds, more than 30 seconds, the script is stopped, and thus the web page cannot be opened. Therefore, we can set a larger value, such as max_execution_time = 600. If it is set to 0, there is no time limit.

Max_input_time = 60

The time (in seconds) used by each PHP script to parse the request data. the default value is 60 seconds. When uploading a large file, you can set this value to a greater value. If it is set to 0, there is no time limit.

Memory_limit = 128 M

This option is used to set the maximum memory space that can be applied by a single PHP script. This helps prevent poorly written scripts from consuming the available memory on the light server. If you do not need any memory limit, set it to-1.
Php5.2.0 and earlier versions are 8 MB by default; php.5.2.0 and 16 MB by default. Php versions later than 5.2.0 are 128 M by default;

Example of the php. ini file upload configuration function

Assume that you want to upload a 50 m large file. Configure php. ini as follows:
File_uploads = On
Upload_tmp_dir = "d:/fileuploadtmp"
Upload_max_filesize = 50 M
Post_max_size = 100 M
Max_execution_time= 600
Max_input_time= 600
Memory_limit = 128 M

Tip: you need to keep memory_limit> post_max_size> upload_max_filesize

This example is for reference only. you can adjust it as needed.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.