如何将文件从子域文件夹上传到laravel中的根文件夹?

时间:2020-06-25 15:50:56

标签: laravel

我在有laravel项目的public_html文件夹中有一个子域文件夹abc.xyz.com。现在,我从子域文件夹上传图像。但我想将图像存储在具有laravel项目的主域(即xyz.com)中。我怎样才能做到这一点?请帮忙 这是我正在使用的图片上传:

<?php

if ($request->hasFile('frontimage')) {

    $file_frontimage = $request->file('frontimage');
    $actual_filename_frontimage = $file_frontimage->getClientOriginalName();
    $filename_frontimage = time() . '_' .$actual_filename_frontimage;

    $file_frontimage->storeAs('images', $filename_frontimage, 'public');
}

1 个答案:

答案 0 :(得分:1)

您可以指定绝对路径。为此,您可以在名为config/filesystems.php的配置文件中创建一个自定义磁盘。 关键是要在子域端创建该磁盘。打开该配置文件,并根据需要对其进行如下修改:

<?php

'disks' => [

    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
    ],
    
    // Here is your custom disk
    'parent_disk' => [
        'driver' => 'local',

        // This should be a correct absolute path, so change it with yours
        'root'   => '/home/your_username/public_html/storage/app/public',
        'visibility' => 'public',
    ],
     
    // More disks
],

接下来,您在从子域上载图像时指定磁盘名称。

<?php

if ($request->hasFile('frontimage')) {
    $file_frontimage = $request->file('frontimage');
    $actual_filename_frontimage = $file_frontimage->getClientOriginalName();
    $filename_frontimage = time() . '_' .$actual_filename_frontimage;
    
    // Notice the 3rd argument that is the disk name
    // you created in sub-domain via `config/filesystems.php` file
    $file_frontimage->storeAs('images', $filename_frontimage, 'parent_disk');
}

这可能比使用符号链接更可移植。