我在有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');
}
答案 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');
}
这可能比使用符号链接更可移植。