Laravel Jobs:队列处理后无法删除文件

时间:2016-11-20 12:04:56

标签: laravel jobs

我只是想知道为什么会发生这种情况。当我发送上传文件到我的Amazon S3的作业时,我想删除id和更新关系(频道)。一切正常但我无法删除该文件。我甚至无法手动删除该文件。 Windows表示某些进程仍在使用它。要手动删除它,我必须先结束队列工作。 Wierd部分是我的S3上传文件,关系在数据库中更新,终端中的队列工作者说工作被处理。作业表中没有失败或正在运行的作业。有谁知道发生了什么?

我的工作在下面处理。

 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();
}

1 个答案:

答案 0 :(得分:0)

尝试

unlink($path)

对我有用。