在Laravel 8中,可以使用存储系统轻松地将文件从一个磁盘复制到另一个磁盘。下面是具体的步骤:
config/filesystems.php
文件中进行配置。例如,你可以在disks
数组中添加两个不同的磁盘配置,如下所示:'disks' => [
'disk1' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL') . '/storage',
'visibility' => 'public',
],
'disk2' => [
'driver' => 'local',
'root' => storage_path('app/private'),
'url' => env('APP_URL') . '/storage',
'visibility' => 'private',
],
],
上述配置中,我们定义了两个磁盘:disk1
和disk2
,分别对应不同的根目录和可见性。
Storage
门面类复制文件。在你的代码中,可以通过以下方式完成复制操作:use Illuminate\Support\Facades\Storage;
$sourceDisk = 'disk1';
$destinationDisk = 'disk2';
$sourcePath = 'path/to/source/file.jpg';
$destinationPath = 'path/to/destination/file.jpg';
Storage::disk($destinationDisk)->put($destinationPath, Storage::disk($sourceDisk)->get($sourcePath));
上述代码中,我们通过Storage
门面类的disk()
方法分别获取源磁盘和目标磁盘的实例。然后,使用源磁盘的get()
方法获取源文件的内容,并使用目标磁盘的put()
方法将内容写入目标文件中。
注意:上述代码中的路径是相对于对应磁盘根目录的相对路径。根据实际情况进行调整。
这样,你就成功地将文件从一个磁盘复制到另一个磁盘了。
补充说明:
领取专属 10元无门槛券
手把手带您无忧上云