小编Geo*_*era的帖子

Laravel 4 - 文件上传

我有一个表单,除了其他信息,用户将上传图像.我想在数据库中存储图像的路径,并将图像保存到public/img/服务器上的文件夹中.

使用以下命令打开表单:{{ Form::open(['route'=>'pizzas.store', 'files'=>true]) }}以便能够POST文件.检查HTML我有以下内容:

<form method="POST" action="http://mypizza/pizzas" 
  accept-charset="UTF-8" enctype="multipart/form-data">
Run Code Online (Sandbox Code Playgroud)

我可以POST到我的控制器并按预期从表单接收所有数据.处理文件的方法如下:

public function store() {
    //TODO -  Validation

    $destinationPath = '';
    $filename        = '';

    if (Input::hasFile('image')) {
        $file            = Input::file('image');
        $destinationPath = '/img/';
        $filename        = str_random(6) . '_' . $file->getClientOriginalName();
        $uploadSuccess   = $file->move($destinationPath, $filename);
    }


    $pizza = Pizza::create(['name'       => Input::get('name'),
                           'price'       => Input::get('price'),
                           'ingredients' => Input::get('ingredients'),
                           'active'      => Input::get('active'),
                           'path'        => $destinationPath . $filename]);

    if ($pizza) {
        return Redirect::route('pizzas.show', $pizza->id);
    }

    //TODO - else
}
Run Code Online (Sandbox Code Playgroud)

当我选择一个文件并提交表单时,一切似乎都有效,除了文件 …

php file-upload laravel laravel-4

22
推荐指数
1
解决办法
4万
查看次数

标签 统计

file-upload ×1

laravel ×1

laravel-4 ×1

php ×1