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');
        }
    }