我在文件上傳成功後下載到本地,讀取內容進行一系列資料庫操作後,再刪除文件,但是刪除失敗了。而如果下次進來立即刪除則可以刪除成功。
// \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