Une fois le fichier téléchargé avec succès, je l'ai téléchargé sur l'ordinateur local, j'ai lu le contenu et effectué une série d'opérations de base de données, puis j'ai supprimé le fichier, mais la suppression a échoué. Et si vous le supprimez immédiatement la prochaine fois que vous entrez, la suppression sera réussie.
// \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));
}
Je connais la raison. Une fois le fichier traité, il doit être fermé avant de pouvoir être supprimé avec succès ! Alors définissez $file=null avant la suppression