Laravel 4.2大文件上传

时间:2015-06-02 20:28:55

标签: php laravel laravel-4

我正在使用Laravel 4.2,我在上传大文件时遇到了一些问题。如果我上传小文件,那么一切都很好。

我改变了我的php.ini并停止/启动了wamp服务器。

post_max_size = 128M

upload_max_filesize = 64M

在html文件中:

<form role="form" method="post" action="{{ URL::route('post-admin-cat-princ') }}" enctype="multipart/form-data">

        <div class="form-group">
            <label for="picture1">Catalogue</label>
            <input id="picture1" name="picture1" type="file" multiple class="form-control" />
            @if($errors->has('picture1'))
                {{ $errors->first('picture1') }}
            @endif
        </div>

        <input class="btn btn-success" type="submit" value="Add catalogue" />
    </form>
路线上的

Route::post('/catalogprinc', array('uses' => 'AdminController@postCatPrin', 'as' => 'post-admin-cat-princ'));
控制器上的

public function postCatPrin() {
    if(Input::hasFile('picture1')) {
       save it;
       return Redirect::route('get-catalog')->with('success', 'Catalogue was added!');
    }
    return Redirect::route('get-catalog')->with('fail', 'There was no catalogue!');
}

问题是,如果文件不大(图像),它工作正常。如果我尝试添加pdf文件(12MB),则会失败并返回There was no catalogue!的“错误”

我不知道出了什么问题。

谢谢!

编辑:我没有使用csrf

1 个答案:

答案 0 :(得分:2)

在php设置中,请确保:

post_max_size=128M
upload_max_filesize=128M
memory_limit=128M

它不必完全是128M,只需确保它至少与您要上传的文件一样大。