我在控制器中有这个动作
public function upload() {
// getting all of the post data
$file = array('image' => Input::file('image'));
//return $file;
// setting up rules
$rules = array('image' => 'required'); //mimes:jpeg,bmp,png and for max size max:10000
// doing the validation, passing post data, rules and the messages
$validator = Validator::make($file, $rules);
if ($validator->fails()) {
// send back to the page with the input data and errors
// return Redirect::to('upload')->withInput()->withErrors($validator);
return "error validation";
}
else {
// checking file is valid.
if (Input::file('image')->isValid()) {
$destinationPath = 'myuploads'; // upload path
$extension = Input::file('image')->getClientOriginalExtension(); // getting image extension
$fileName = Input::file('image')->getClientOriginalName();
// $fileName = rand(11111,99999).'.'.$extension; // renameing image
Input::file('image')->move($destinationPath, $fileName); // uploading file to given path
return "upload success";
}
else {
// sending back with error message.
Session::flash('error', 'uploaded file is not valid');
return "error";
}
}
}
适用于2MB这样的小文件,但不适用于4MB文件大小。 对于4MB或更多,它在验证中会出错。在上面的代码中有这个代码
if ($validator->fails()) {
return "error validation";
}
它提供此自定义错误error validation
。我已经开始配置php.ini以获得最大上传限制和后限制。
答案 0 :(得分:59)
其他答案仅指php.ini指责。
我想考虑php.ini和Laravel Validation Rule
给出答案首先检查您的php.ini
对于upload_max_filesize
和post_max_size
并更改为所需的文件大小
upload_max_filesize = 100M
post_max_size = 100M
你应该有这样的规则
public static $updaterules = array(
'uploadedimage' => 'image|max:5000'
);
其他信息:
您应通过
检查图像的文件格式'uploaded' => 'mimes:jpeg,bmp,png'
由于提问者没有注意到服务器正在使用哪个php.ini文件。我正在相应地更新我的答案,因此对于将来遇到类似问题的人可能会有用
查找有关服务器当前正在使用的php.ini文件的完整配置。
对于Linux
php -i | grep php.ini
适用于Windows
php -i | find /i "Configuration File"
来自php文件
即,
<?php
phpinfo();
?>
答案 1 :(得分:12)
修改您的php.ini
文件并设置:
memory_limit = 32M
upload_max_filesize = 70M
post_max_size = 100M
并重新启动apache。
答案 2 :(得分:8)
我找到了答案,上面提到的在php.ini中对upload_max_filesize
和post_max_size
进行更改的事情实际上是解决问题所提问题的唯一方法。
唯一的问题是我正在使用wamp并且显然wamp在php文件夹中有一个php.ini文件,在apache文件夹中有一个。当应该对apache文件夹中的一个进行更改时,我在PHP文件夹中进行了更改。
答案 3 :(得分:0)
检查max_file_uploads
中的max_post_size
和php.ini
。它显示自phpinfo()
答案 4 :(得分:0)
FOR WAMP SERVER:
转到Description description = new Description();
description.setText("");
mChart.setDescription(description);
并打开/wamp64/bin/apache/apache(your version)/bin/
并改变
根据您的需要php.symlink(.ini)
。
并重新启动wamp服务器。
答案 5 :(得分:0)
对于在nginx上运行的laravel应用。.
标识您的php ini文件:
php -i | grep php.ini
编辑cli和fpm文件以确保:
vim /etc/php/7.2/cli/php.ini
vim /etc/php/7.2/fpm/php.ini
将这些更改为您的首选限制:
post_max_size = 1G
upload_max_filesize = 1G
memory_limit = 1G
重新启动php fpm
服务php7.2-fpm重新启动
重新加载nginx
服务nginx重新加载