Php 当上传大文件时,Laravel返回NULL
我的表格Php 当上传大文件时,Laravel返回NULL,php,apache,laravel,file-upload,Php,Apache,Laravel,File Upload,我的表格 当我上传大于8mb的laravel时,返回NULL,就像字段是空的一样。我已经得到了变量PHP.init的值。我正在使用Laravel4.2和Apache,需要上传大小为25-40MB的文件。如果我尝试dd(Input::file('importable'))返回NULL,则需要增加文件上载的内存限制。您可以通过在控制器的开头提到限制大小来实现这一点 ini设置(“内存限制”、“大小”) 例如: ini_集('memory_limit','40M') 您可能还需要在表单中提及encty
当我上传大于8mb的laravel时,返回NULL,就像字段是空的一样。我已经得到了变量PHP.init的值。我正在使用Laravel4.2和Apache,需要上传大小为25-40MB的文件。如果我尝试dd(Input::file('importable'))返回NULL,则需要增加文件上载的内存限制。您可以通过在控制器的开头提到限制大小来实现这一点 ini设置(“内存限制”、“大小”) 例如:
ini_集('memory_limit','40M')代码>
您可能还需要在表单中提及enctype
(编码类型)
示例:-
{{Form::open(数组)(
'url'=>'upfile',
'方法'=>'发布',
“类”=>“形式”,
“enctype”=>“多部分/表单数据”
))
}}
也许你不需要这个
'files'=>true'
检查错误:
$request->file('image')->getErrorMessage()
如果错误看起来像:
文件“image\u name.jpeg”超出了upload\u max\u filesize ini指令(限制为2048 KiB)
在空白页中,执行下一个命令以定位php.ini:
在php.ini文件中编辑下一行:
post\u max\u size
upload\u max\u filesize
增加内存限制(默认为2M),您可以尝试使用10M
您是否检查了php.ini中的最大上传文件大小?以及post_max_大小?哦。。不它是7MB。。。现在我们确信这就是问题所在。该应用程序位于共享服务器上。我们不能在不联系公司支持人员的情况下更改变量值吗?您不能使用“ini\U set”进行更改。您必须联系所在公司进行更改。也许他们有解决方案。
{{ Form::open(array('url' => 'upfile', 'files' => 'true', 'method' => 'post', 'class' => 'form')) }}
<p>Sólo se admiten archivos en formato .pdf y no mayor a 127MB</p>
<p>
{{ Form::file('expediente', array('class' => 'text-field column_one', 'required' => 'required')) }}
</p><br>
<p>
{{ Form::text('nombrearchivo', null, array('class' => 'text-field column_one', 'required' => 'required', 'placeholder' => 'Nombre del Expediente.')) }}
</p><br>
{{ Form::hidden('username', $username) }}
<p style="color: red;">
<ul>
@foreach ($errors->all() as $message)
<li style="color:red;">{{$message}}</li>
@endforeach
<ul>
</p>
{{ Form::submit('Añadir Expediente', array('class' => 'submit submitNavy submitForm')) }}
{{ Form::close() }}
public function saveExpediente(){
ini_set("memory_limit","7G");
ini_set('upload_max_filesize', '127M');
ini_set('post_max_size', '127M');
ini_set('max_input_time', 0);
ini_set('max_execution_time', 0);
set_time_limit(0);
ignore_user_abort(true);
$rules = array(
'username' => 'required|exists:users,username',
'expediente' => 'required',
'nombrearchivo' => 'required|min:5'
);
$validator = Validator::make(Input::all(), $rules);
//$fileExtension = Input::file('expediente')->guessClientExtension();
$file = Input::file('expediente');
if ($validator->fails()) {
//dd($file);
return Redirect::back()
->withErrors($validator) // send back all errors to the login form
->withInput(); // send back the input (not the password) so that we can repopulate the form
}/*else if ($fileExtension != 'pdf'){
$validator->failed();
return Redirect::to('upload')->withErrors([
'expediente' => 'El archivo debe estar en formato PDF!',
])->withInput();
}*/else {
File::makeDirectory('expedientes/'.Input::get('username'), 0770, true, true);
Input::file('expediente')->move('expedientes/'.Input::get('username'),Input::file('expediente')->getClientOriginalName());
$expediente = new Expediente;
$expediente->username = Input::get('username');
$expediente->archivo = Input::file('expediente')->getClientOriginalName();
$expediente->nombrearchivo = Input::get('nombrearchivo');
$expediente->save();
return Redirect::back()->with('message', 'Se añadió correctamente el expediente al usuario.')->with('tipo','message-success');
}
}