laravel,如何将图像保存到 public_html 目录
laravel, How to save images to public_html directory
我已经在主机上部署了我的页面。
我在发布图片时遇到问题。
所有图片都存入app/public/images
但我需要将它们存储到 public_html/public/images
filesystems.php 文件:
'disks' => [
'local' => [
'driver' => 'local',
'root' => public_path(),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
这里需要做哪些改动?
将它们存储在 public_html/images 中不是个好主意
似乎您正在使用 CPanel,因此您应该在 CPanel 中将根目录更改为 public_html/public,有时您应该要求您的提供商这样做。
然后你可以按照Laravel指令存储在app/public之后,有必要在public目录中创建一个symlink,如Laravel 文档被提及。
相信我,有很多方法可以做到这一点,但这种方法既清晰又安全。
最后,要将数据存储在 public 目录中,请遵循以下代码:
$path = 'images';
$newFilename = Storage::disk('public')->store($path);
因此,根据 this link 中的 symlink 描述,您的第一个 public 目录将是 storage
,因此当您想要使用此 link 在你的,使用下面的代码:
Storage::disk('public')->url($newFilename);
并且 $newFilename 本身将由 \images` 组成。
综上所述,文件将存储在 \public_html\public\storage\images
,您将在 store
方法的 return 中获得文件的部分路径,并通过调用 url
方法,您将拥有完整的 url by laravel iteself.
我已经在主机上部署了我的页面。 我在发布图片时遇到问题。
所有图片都存入app/public/images
但我需要将它们存储到 public_html/public/images
filesystems.php 文件:
'disks' => [
'local' => [
'driver' => 'local',
'root' => public_path(),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
这里需要做哪些改动?
将它们存储在 public_html/images 中不是个好主意 似乎您正在使用 CPanel,因此您应该在 CPanel 中将根目录更改为 public_html/public,有时您应该要求您的提供商这样做。
然后你可以按照Laravel指令存储在app/public之后,有必要在public目录中创建一个symlink,如Laravel 文档被提及。
相信我,有很多方法可以做到这一点,但这种方法既清晰又安全。
最后,要将数据存储在 public 目录中,请遵循以下代码:
$path = 'images';
$newFilename = Storage::disk('public')->store($path);
因此,根据 this link 中的 symlink 描述,您的第一个 public 目录将是 storage
,因此当您想要使用此 link 在你的,使用下面的代码:
Storage::disk('public')->url($newFilename);
并且 $newFilename 本身将由 \images` 组成。
综上所述,文件将存储在 \public_html\public\storage\images
,您将在 store
方法的 return 中获得文件的部分路径,并通过调用 url
方法,您将拥有完整的 url by laravel iteself.