Laravel作业: 队列处理后不能删除文件

问题描述 投票:0回答:1

我只是不明白为什么会发生这种情况。当我派遣工作将文件上传到我的Amazon S3时,我想删除id和更新关系(通道)。一切都正常,但我不能删除文件。我不能删除文件,甚至手动删除。Windows说一些进程仍在使用它。要手动删除它,我必须先结束队列工作者。诡异的是,文件被上传到我的S3,数据库中的关系被更新,终端中的队列工作者说工作被处理。工作表中没有失败或正在运行的工作。有人知道这是怎么回事吗?

下面是我的job handle。

 public function handle()
{
    $path = storage_path() . "/uploads/" . $this->fileId;
    $fileName = $this->fileId . ".png";

    if(Storage::disk("s3images")->put("profile/" . $fileName, fopen($path, "r+"))){
        File::delete($path);
    }
    $this->channel->image_filename = $fileName;
    $this->channel->save();
}
laravel jobs
1个回答
0
投票

试试

unlink($path)

它为我工作。

© www.soinside.com 2019 - 2024. All rights reserved.