php - Laravel 从上传获取保存文件的路径

标签 php laravel file-upload

我有一个 Laravel 上传文件(以及传递给数据库的其他数据)一切正常。但我就是不知道如何保存所保存文件的路径。

这是我的 Controller 功能:

public function store(Request $request)
{
    request()->validate([
        'name'              => 'required',
        'logo'              => 'nullable',
        'original_filename' => 'nullable',
    ]);

    //This is where the file uploads?
    if ($request->hasFile('logo')) {
        $request->file('logo')->store('carrier_logo');
        $request->merge([
            'logo'              => '',//TODO: get file location
            'original_filename' => $request->file('logo')->getClientOriginalName(),
        ]);
    }

    Carrier::create($request->all());
    return redirect()->route('carriers.index')->with('toast', 'Carrier created successfully.');
}

我想要实现的事情:
我要 logo填充类似 carrier_logo/ZbCG0lnDkUiN690KEFpLrNcn2exPTB8mUdFDwAKN.png 的内容

每次我尝试修复它时都会发生的事情是它将临时路径放在数据库中。最终成为 PHP 安装目录中的内容。

最佳答案

只需将结果分配给变量:

$path = $request->file('logo')->store('carrier_logo');

根据 docs

然后你可以用 $path随心所欲地变。

关于php - Laravel 从上传获取保存文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52339065/

相关文章:

javascript - 在 Vue JS 中显示表格内的图像以及基本 url (Laravel 5.2)

node.js - 使用 angular-file-upload 将文件上传到 Node 服务器

html - 文件接受属性中允许的 MIME 类型是什么?

php - 无法在ubuntu上执行mysql插入

Laravel 价格验证仅接受正数,而不仅仅是 0

php - 开源语言识别库?

php - fatal error 异常: Call to undefined function link_to_route()

jQuery-File-Upload iframe 后备检测

php - 在循环查询结果的同时循环数组

php - 如何使用Observer设置总计/基础总计?