From 5f327abeeca1953ff9d11f93afb9fbd9ceb825ba Mon Sep 17 00:00:00 2001 From: Marien Fressinaud Date: Sun, 21 Dec 2014 17:53:03 +0100 Subject: Add recursive_unlink function in dev branch --- lib/lib_rss.php | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'lib/lib_rss.php') diff --git a/lib/lib_rss.php b/lib/lib_rss.php index 264c69d58..2400ba708 100644 --- a/lib/lib_rss.php +++ b/lib/lib_rss.php @@ -319,3 +319,27 @@ function check_install_database() { return $status; } + +/** + * Remove a directory recursively. + * + * From http://php.net/rmdir#110489 + * + * @param $dir the directory to remove + */ +function recursive_unlink($dir) { + if (!is_dir($dir)) { + return true; + } + $files = array_diff(scandir($dir), array('.', '..')); + foreach ($files as $filename) { + $filename = $dir . '/' . $filename; + if (is_dir($filename)) { + @chmod($filename, 0777); + recursive_unlink($filename); + } else { + unlink($filename); + } + } + return rmdir($dir); +} -- cgit v1.2.3