Unable to Upload File Greater Than 2Mb in Laravel

My problem never Solved, Cannot upload file greater than 2M in laravel framework

I solved this problem by creating php.ini file inside the public directory and restarted my apache and rerun PHP artisan serve command

new php.ini code:

[PHP]
upload_max_filesize=2000M
max_file_uploads=2000M
memory_limit=128M
post_max_size=800M

Laravel - validate file size when PHP max upload size limit is exceeded

You don't seem interested in changing the PHP limits to allow larger files. It looks to me like you want your max upload to be 5MB, and return a proper response if it is over that.

You can handle the FileException exception inside your exception handler at app/Exceptions/Handler.php. Update the render method to add in the code you need. For example, if you'd like to return a validation exception, you will need to handle the validation inside the exception handler for the FileException exception.

public function render($request, Exception $exception)
{
if ($exception instanceof \Symfony\Component\HttpFoundation\File\Exception\FileException) {
// create a validator and validate to throw a new ValidationException
return Validator::make($request->all(), [
'your_file_input' => 'required|file|size:5000',
])->validate();
}

return parent::render($request, $exception);
}

This is untested, but should give you the general idea.

You can also do client side validation via javascript, so that a file that is too large is never actually sent to your server, but javascript can be disabled or removed by the client, so it would be good to have nice server side handling set up.

For the client side validation, if you attach an event handler to the "change" event for the file input, you can check the file size using this.files[0].size, and perform any additional actions after that (disable form, remove uploaded file, etc.)

Small file get uploaded but not large file in Laravel

Well I found the answer, The things mentioned above to make change in php.ini about upload_max_filesize and post_max_size are infact the only thing to solve the problem mentioned by the question.

The only problem was that I am using wamp and apparently wamp has multiple php.ini files one in php folder and one in apache folder. I made changes in PHP folder when the change should be made to the one inside apache folder.

Why is PHP not allowing me to upload more than 2MB file?

Finally issue fixed:

the solution was to add php.ini and .user.ini files in the project's public directory to set the needed values (both files):

upload_max_filesize = 20M
post_max_size = 20M

like this:

Sample Image

I didn't find the real reason why updating /etc/php/7.4/fpm/php.ini but these 2 files finally fixed it



Related Topics



Leave a reply



Submit