laravel File::delete 删除文件失效

我在文件上传成功后下载到本地,读取内容进行一系列数据库操作后,再删除文件,但是删除失败了。而如果下一次进来立即删除则可以删除成功。

     // \File::delete(storage_path(self::SAVE_FILE_NAME)); // 如果写在这里下次再进来删除文件则会成功
    // 下载文件到本地
    $success = $this->downloadUserFile($data['user_info']);
    if ($success) {
        $file = new \SplFileObject(storage_path(self::SAVE_FILE_NAME));
        $file->setFlags(\SplFileObject::READ_CSV);
        foreach($file as $index => $row) {
            list($mobile, $userName) = $row;
            // 数据库操作
        }
        // 处理完成后删除(无法成功)
         \File::delete(storage_path(self::SAVE_FILE_NAME));
    }
    
阅读 4.6k
1 个回答

知道原因了,文件处理完后需先关闭才能删除成功!所以要在删除前设置$file=null

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题