diff --git a/admin/admin.inc.php b/admin/admin.inc.php index 0202e11..be1aa59 100755 --- a/admin/admin.inc.php +++ b/admin/admin.inc.php @@ -581,7 +581,7 @@ auto_delete(); //定时删除
-
定时删除 数值为0时关闭
+
定时删除 数值为0时关闭
天数 @@ -677,6 +677,27 @@ auto_delete(); //定时删除
+
+
+ + > + +
+
+
+
+ + > + +
+
+
+
+ + > + +
+
@@ -691,6 +712,13 @@ auto_delete(); //定时删除
+
+
+ + > + +
+
@@ -705,34 +733,6 @@ auto_delete(); //定时删除
-
-
- - > - -
-
-
-
- - > - -
-
-
-
- - > - -
-
-
-
- - > - -
-
@@ -755,13 +755,6 @@ auto_delete(); //定时删除
-
-
- - > - -
-
@@ -769,6 +762,13 @@ auto_delete(); //定时删除
+
+
+ + > + +
+
@@ -1286,7 +1286,7 @@ auto_delete(); //定时删除
- +
@@ -1294,7 +1294,7 @@ auto_delete(); //定时删除
- +
diff --git a/application/function.php b/application/function.php index e33ddf7..98e44b9 100755 --- a/application/function.php +++ b/application/function.php @@ -1722,28 +1722,44 @@ function ip_upload_counts() /** * 自动删除 + * 开启自动删除后会先重命名文件夹作为备份 + * 自动删除日期超过定时的2倍时间后再彻底删除重命名的文件夹 */ function auto_delete() { global $config; if ($config['auto_delete'] && $config['storage_path'] == 'Y/m/d/') { - $dir = APP_ROOT . $config['path'] . date('Y/m/d/', strtotime(-$config['auto_delete'] . 'day')); - if (is_dir($dir)) { + + /** 重命名要删除的文件夹 */ + $Odir = APP_ROOT . $config['path'] . date('Y/m/d', strtotime(-$config['auto_delete'] . 'day')); // 重命名文件夹路径 + $Rdir = APP_ROOT . $config['path'] . date('Y/m/d', strtotime(-$config['auto_delete'] . 'day')) . '_auto_delete'; // 新命名文件夹路径 + if (is_dir($Odir)) { // 执行重命名 + rename($Odir, $Rdir); + $log = date('Y-m-d H:i:s') . $Rdir . ' rename succees'; + } else { + $log = date('Y-m-d H:i:s') . $Rdir . ' rename failed'; + } + + /** 定时删除已经重命名的文件夹路径 */ + $Ddir = APP_ROOT . $config['path'] . date('Y/m/d', strtotime(-$config['auto_delete'] * 2 . 'day')) . '_auto_delete'; // 文件夹路径 + if (is_dir($Ddir)) { // 执行删除 try { - if (deldir($dir)) { - $log = date('Y-m-d H:i:s') . $dir . ' delete succees'; + if (deldir($Ddir)) { + $log = date('Y-m-d H:i:s') . $Ddir . ' delete succees'; } else { - throw new Exception(date('Y-m-d H:i:s') . $dir . ' delete failed'); + throw new Exception(date('Y-m-d H:i:s') . $Ddir . ' delete failed'); } } catch (Exception $e) { $log = $e->getMessage(); } - if (!is_dir(APP_ROOT . '/admin/logs/tasks/')) { mkdir(APP_ROOT . '/admin/logs/tasks/', 0755, true); } - - file_put_contents(APP_ROOT . '/admin/logs/tasks/auto_delete.php', $log . PHP_EOL, FILE_APPEND | LOCK_EX); } + + // 写入日志 + file_put_contents(APP_ROOT . '/admin/logs/tasks/auto_delete.php', $log . PHP_EOL, FILE_APPEND | LOCK_EX); + return true; } + return false; } diff --git a/config/config.php b/config/config.php index ee69bc1..481c259 100755 --- a/config/config.php +++ b/config/config.php @@ -115,7 +115,7 @@ $config=Array 'guest_path_status'=>0, 'token_path_status'=>0, 'admin_path'=>'u', - 'update'=>'2023-02-12 20:44:03', + 'update'=>'2023-02-13 12:54:50', 'footer'=>'© Since 2018 EasyImage DMCA