在laravel 5.4(存储文件夹)中更改默认的“符号链接”文件夹

问题描述 投票:1回答:3

我正在使用laravel 5.4制作我的网站的新版本,并希望保留与旧网站相同的链接。

我的旧网站有这样的链接图像:domain.com/uploaded/cat.jpg

在laravel中,它必须创建一个符号链接来显示存储的图像,但它使用名为storage的默认文件夹保存它们,如下所示:domain.com/storage/cat.jpg

如何将默认名称更改为“已上传”或其他什么?

我尝试使用以下方法更改文件\ config \ filesystems.php中的url:

之前

'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],

'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/uploaded',
        'visibility' => 'public',
    ],

和我的控制器

$request->file('image')->storeAs('public', 'example.jpg');
php laravel hyperlink storage directory
3个回答
0
投票

确保你已经创建了一个符号链接。

根据您的配置,您可以运行此命令:

ln -s storage/app/public public/uploaded

然后,您可以访问您的文件:

Storage::disk('public')->url('example.jpg')

或者只是使用asset()助手:

asset('uploaded/example.jpg');

0
投票

使用任何php文件在服务器中执行此代码以创建符号链接。创建链接后,文件将可公开访问。

target ='/ home / cfrcoclm / public_html / agencies / storage / app / public' shortcut ='/ home / cfrcoclm / public_html / agencies / uploaded'symlink(target,shortcut)ec ho(“Link Created!”)`


0
投票

如果您没有SSH访问权限,您也可以在下面编写这个单行脚本并在服务器上运行它 - 考虑正确的目录路径

符号链接( '/家庭/域名/ laravelprojectname /存储/应用程序/公共', '/家庭/域名/的public_html /存储');

© www.soinside.com 2019 - 2024. All rights reserved.