Home  >  Article  >  Backend Development  >  What should I do if php cannot receive file?

What should I do if php cannot receive file?

藏色散人
藏色散人Original
2021-09-22 11:20:463197browse

Solution for php not receiving file: 1. Find the php.ini configuration file; 2. Configure the "upload_max_filesize = 30M" content; 3. Modify the post_max_size option.

What should I do if php cannot receive file?

The operating environment of this article: Windows 7 system, PHP version 7.1, Dell G3 computer.

php What should I do if I cannot receive the file?

Common reasons why $_file cannot be obtained in php

A strange problem occurred when uploading the for form today. The form submission could not be obtained. Ordinary fields cannot be obtained. Because I uploaded a file, I checked to see if the enctype="multipart/form-data" attribute was added to the for form, and found that it was also added;

Later I went to php.ini I found that the file upload function file_uploads=on is also enabled. After thinking and debugging for a long time, it still didn't work. Then I thought about another project I worked on that also uploaded pictures and could get data. So I took a look and found that the code was also There was no difference. It still didn't work after getting it here. Then I went to php.ini to check the configuration to see if there was anything wrong. I saw upload_max_filesize =2M (that is, the file upload size is 2M). Because the file I uploaded exceeded 2M, I I changed upload_max_filesize =2M to upload_max_filesize =64M, restarted the server, and found that it still didn't work. Then I thought about whether there was a limit when submitting the form. Later, it was interesting to find post_max_size=8M in php.ini, (which means the maximum data allowed for POST Byte length, the default is 8M), change it to post_max_size=64M, restart the service, and find that it works.

Summary:

The default file upload size in the php.ini configuration file is 2M, and the default upload_max_filesize = 2M, that is, the file upload size is 2M. If you want to upload files exceeding 8M, Such as 30M, you must configure upload_max_filesize = 30M.

But just setting upload_max_filesize = 30M still cannot realize the file upload function. You must modify the post_max_size option in the php.ini configuration file, which represents the maximum byte length of data allowed for POST. The default is 8M, so it is still To set post_max_size=30M.

If the POST data exceeds the limit, then $_POST and $_FILES will be empty. To upload large files, you must set this option to a value greater than or equal to the value of the upload_max_filesize directive.

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of What should I do if php cannot receive file?. For more information, please follow other related articles on the PHP Chinese website!

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