From 559796b5129fa2849850e0bf89cd76187717320c Mon Sep 17 00:00:00 2001 From: caoyanyi Date: Tue, 26 Apr 2022 08:35:06 +0800 Subject: [PATCH] * Fix unlink file error. --- module/extension/model.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/module/extension/model.php b/module/extension/model.php index 30dbc63ec7..88e184e6e1 100644 --- a/module/extension/model.php +++ b/module/extension/model.php @@ -599,11 +599,11 @@ class extensionModel extends model $file = $appRoot . $file; if(!file_exists($file)) continue; - if(md5_file($file) != $savedMD5) + if(!is_writable($file) or @md5_file($file) != $savedMD5) { $removeCommands[] = PHP_OS == 'Linux' ? "rm -fr $file #changed" : "del $file :changed"; } - elseif(!@unlink($file)) + elseif(!is_writable($file) or !@unlink($file)) { $removeCommands[] = PHP_OS == 'Linux' ? "rm -fr $file" : "del $file"; } @@ -617,7 +617,7 @@ class extensionModel extends model foreach($dirs as $dir) { if(!is_dir($appRoot . $dir)) continue; - if(!rmdir($appRoot . $dir)) $removeCommands[] = PHP_OS == 'Linux' ? "rm -fr $appRoot$dir" : "rmdir $appRoot$dir /s /q"; + if(!is_writable($appRoot . $dir) or !rmdir($appRoot . $dir)) $removeCommands[] = PHP_OS == 'Linux' ? "rm -fr $appRoot$dir" : "rmdir $appRoot$dir /s /q"; } } @@ -636,7 +636,10 @@ class extensionModel extends model public function cleanModelCache() { $modelCacheFiles = glob($this->app->getTmpRoot() . 'model/*'); - foreach($modelCacheFiles as $cacheFile) @unlink($cacheFile); + foreach($modelCacheFiles as $cacheFile) + { + if(is_writable($cacheFile) and !is_dir($cacheFile)) @unlink($cacheFile); + } } /**