【问题标题】:laravel, How to save images to public_html directorylaravel,如何将图像保存到 public_html 目录
【发布时间】:2021-06-02 01:22:09
【问题描述】:

我已经在主机上部署了我的页面。 当我发布图片时,我遇到了问题。

所有图片都存储在 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',

这里需要做哪些改变?

【问题讨论】:

    标签: laravel laravel-5 filesystems hosting web-deployment


    【解决方案1】:

    将它们存储在 public_html/images 中并不是一个好主意 看来您使用的是CPanel,所以您应该在CPanel中将您的根目录更改为public_html/public,有时您应该要求您的提供商这样做。

    然后您可以按照 Laravel 的说明存储在 app/public 上,之后需要在公共目录上创建符号链接,如 Laravel 文档中所述。

    相信我,有很多方法可以做到这一点,但这种方法既清晰又安全。

    最后,要将数据存储在公共目录中,请遵循以下代码:

    $path = 'images';
    $newFilename = Storage::disk('public')->store($path);
    

    因此,根据this link 中的符号链接描述,您的第一个公共目录将是storage,因此当您想在您的中使用此链接时,请使用以下代码:

    Storage::disk('public')->url($newFilename);
    

    $newFilename 本身将由 \images` 组成。

    总而言之,该文件将存储在\public_html\public\storage\images,并且您将获得文件的部分路径以返回store 方法,通过调用url 方法您将获得laravel 本身的完整url。

    【讨论】:

    • 感谢您的回答。我错了,我想说我需要将它们存储到 public_html/public/images 中。也许我可以在文件系统中进行一些简单的修复
    • @Jetz 我已经按照您想要的方式更改了描述,希望对您有所帮助。
    猜你喜欢
    • 2018-09-27
    • 1970-01-01
    • 2019-09-07
    • 2012-08-13
    • 2020-04-17
    • 2015-07-04
    • 1970-01-01
    • 2019-01-06
    • 1970-01-01
    相关资源
    最近更新 更多