note 91975 deleted from function.rmdir by thiago
| From: | thiago@php.net | Date: | Tue, 07 Jul 2009 12:13:53 +0000 |
| Subject: | note 91975 deleted from function.rmdir by thiago | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-158012@lists.php.net to get a copy of this message | ||
Note Submitter: erkethan at free dot fr
----
A security patch on previous deleteDirectory function, to prevent the function to follow links and
erase unexpected files :
<?php
function deleteDirectory($dir) {
if (!file_exists($dir)) return true;
if (!is_dir($dir) || is_link($dir)) return unlink($dir);
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..') continue;
if (!deleteDirectory($dir.DIRECTORY_SEPARATOR.$item)) return false;
}
return rmdir($dir);
}
?>