更改 laravel 5.4 中的默认 "symbolic link" 文件夹(存储文件夹)

Change default "symbolic link" folder in laravel 5.4 (storage folder)

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

我的旧站点有 links 个像这样的图片: 域名.com/uploaded/cat.jpg

在 laravel 中,需要创建一个 符号 link 来显示存储的图像,但它使用名为 [=32] 的默认文件夹保存它们=]存储”,像这样: 域名.com/storage/cat.jpg

如何将默认名称更改为 "uploaded" 或其他名称?

我试图用这个改变文件\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');

确保您已创建符号链接。

根据你的配置,你可以运行这个命令:

ln -s storage/app/public public/uploaded

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

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

或者简单地使用 asset() 助手:

asset('uploaded/example.jpg');

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

目标='/home/cfrcoclm/public_html/agencies/storage/app/public'
快捷方式='/home/cfrcoclm/public_html/agencies/uploaded' symlink(目标,快捷方式) 呵呵("Link Created!") `

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

symlink('/home/domainname/laravelprojectname/storage/app/public','/home/domainname/public_html/storage');