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.
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!