我在文件上传成功后下载到本地,读取内容进行一系列数据库操作后,再删除文件,但是删除失败了。而如果下一次进来立即删除则可以删除成功。
// \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));
}
知道原因了,文件处理完后需先关闭才能删除成功!所以要在删除前设置$file=null