From ed32944d1cc20e50c1dc0a9f9412f004e748ccb7 Mon Sep 17 00:00:00 2001 From: SofianeLasri <alasri250@gmail.com> Date: Sat, 4 Sep 2021 15:22:17 +0200 Subject: [PATCH] 15H22 - Ajout d'une fonction de copie de dossier --- vbcms-core/functions.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/vbcms-core/functions.php b/vbcms-core/functions.php index ba0829d..bd7320d 100644 --- a/vbcms-core/functions.php +++ b/vbcms-core/functions.php @@ -260,6 +260,28 @@ function getVBcmsPermissions(){ return $permissions; } +// https://gist.github.com/gserrano/4c9648ec9eb293b9377b +function recursive_copy_if_different($src,$dst) { + $dir = opendir($src); + @mkdir($dst); + while(( $file = readdir($dir)) ) { + if (( $file != '.' ) && ( $file != '..' )) { + if ( is_dir($src . '/' . $file) ) { + recursive_copy($src .'/'. $file, $dst .'/'. $file); + } else { + if(file_exists($dst .'/'. $file)){ + if(hash_file('md5', $dst .'/'. $file)!=hash_file('md5', $src .'/'. $file)){ + copy($src .'/'. $file,$dst .'/'. $file); + } + }else { + copy($src .'/'. $file,$dst .'/'. $file); + } + } + } + } + closedir($dir); +} + ///////////////////////////////// // FONCTIONS DES MODULES DE BASES ///////////////////////////////// -- GitLab