📜  storePublicly laravel with name - PHP (1)

📅  最后修改于: 2023-12-03 14:47:43.190000             🧑  作者: Mango

介绍

storePublicly是Laravel中的一个方法,可以将文件存储到公共磁盘上。

用法

storePublicly方法接受两个参数:目标磁盘和可选的路径。如果不提供路径,则将使用文件名。这个方法会将文件存储到指定磁盘的公共文件夹中,并返回文件的公共URL。

$path = $request->file('avatar')->storePublicly('avatars', 'public');

在上面的示例中,我们将从请求中获取一个名为avatar的文件,并将其存储到名为public的公共磁盘的avatars目录中。

使用storePublicly方法时,需要在config/filesystems.php文件中定义磁盘。

'disks' => [
    'public' => [
        'driver' => 'local',
        'root' => public_path(),
        'url' => env('APP_URL').'/public',
        'visibility' => 'public',
    ],

    // ...
],
返回值

storePublicly方法返回存储在公共磁盘上的文件的公共URL。

$path = $request->file('avatar')->storePublicly('avatars', 'public');

// 获取文件的公共URL
$url = asset('storage/' . $path);
示例

以下代码片段演示了如何使用storePublicly方法将文件存储到公共磁盘。

use Illuminate\Http\Request;

Route::post('/upload', function(Request $request) {
    $path = $request->file('avatar')->storePublicly('avatars', 'public');

    // 获取文件的公共URL
    $url = asset('storage/' . $path);

    return response()->markdown('upload', compact('url'));
});

以上代码将文件存储到名为public的公共磁盘的avatars目录,并将该文件的公共URL返回到upload.blade.md模板中。

# 文件上传成功

文件已成功上传,公共URL为:{{ $url }}