为图像文件夹创建较短的链接

时间:2019-05-29 13:45:22

标签: php laravel

我在项目中为图像创建了新磁盘,并且我想在Blade.php中使用添加到userImage磁盘中的URL。

该磁盘在我的控制器中运行完美,我用它来检测文件夹路径是否存在,如果不存在,则创建一个:

if (!Storage::disk('userImage')->has('standard')) {
     Storage::disk('userImage')->makeDirectory('standard');
}

但是我现在也想在我的blade.php浏览量中使用它:

(C:\ xampp \ htdocs \ rps \ public \ storage \ images \ userImage \ standard \ default.png)

src="{{asset('storage/images/userImage/standard/default.png')}}"

上面的代码可以完美地工作,它可以显示图像,但我想将其缩短为:

src="{{asset('userImage/standard/default.png')}}"

,我希望它可以通过userImage磁盘的工作方式来工作,但不能。任何人都有解决该问题的想法吗?

    'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

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

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

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

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
        ],

    ],

1 个答案:

答案 0 :(得分:0)

您的问题不清楚。

如果要缩短img网址:

您可以将符号链接从public/userImagestorage/app/public/images/userImage

  1. 在路由文件夹中添加到console.php。

    Artisan::command('link', function(){
        $this->laravel->make('files')->link(
            storage_path('app/public/images/userImage'), public_path('userImage')
        );
    });
    
  2. 然后是控制台命令:

    php artisan link
    

如果您想使用较短的代码(刀片中的路径):

您可以创建自己的帮助器功能。

  1. 创建文件app / Helpers / helpers.php

    function image($path){
        $path = trim($path, '/');
        return asset('storage/images/' . $path);
    }
    
  2. 将其添加到作曲家的自动加载中

    "autoload": {
         "files": [
             "app/Helpers/helpers.php"
        ],
        "psr-4": {
             "App\\": "app/"
        },
        "classmap": [
             "database/seeds",
             "database/factories"
        ]
    },
    
  3. 在刀片中使用它:

    {{ image('userImage/standard/default.png') }}