如何执行带事务的php文件系统?
我知道这不能不问人们通常如何解决这个问题?
每次用户上传文件时,都会将数据库和存储文件(move_uploaded_file)插入正确的位置,需要创建一个包含上传文件的新文件夹。
当用户创建时
查询失败如何取消文件链接?
try {
$connect_db->beginTransaction();
// .. execute insert query
// .. execute other query
if (!is_dir($folder_path)) {
if(mkdir($folder_path, 0755) == false) {
// rollback query execute before
}
}
// .. execute other query
$connect_db->commit();
} catch (PDOException $e) {
}
当用户删除
查询失败如何恢复unlink文件?
try {
$connect_db->beginTransaction();
// .. execute delete query
// .. execute other query
if (!unlink($file_path)) {
}
// execute other query
$connect_db->commit();
} catch (PDOException $e) {
}
最佳答案
你不能那样做。
通常 文件系统不提供任何事务功能,除非您使用的是某些提供的特殊文件系统。如果是这样 - 检查其文档。
If query fail, how to remove the file? (question)
使用 unlink()
How to recover unlink file, if query fail?
只是不要立即删除。安排删除任务并在需要时将其取消。
关于php - 如何在事务中执行 php 文件系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24298670/