Nachdem die Datei erfolgreich hochgeladen wurde, habe ich sie auf den lokalen Computer heruntergeladen, den Inhalt gelesen, eine Reihe von Datenbankoperationen durchgeführt und dann die Datei gelöscht, aber der Löschvorgang ist fehlgeschlagen. Und wenn Sie es beim nächsten Mal sofort löschen, ist der Löschvorgang erfolgreich.
// \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