1
0
Fork 0

Fixes to Filesystem class, avoid removing non-existing dirs and clear stat cache for safety

pull/404/merge
Jordi Boggiano 2012-03-08 00:12:38 +01:00
parent ada9c20db1
commit 8d087f2b2b
1 changed files with 10 additions and 1 deletions

View File

@ -19,13 +19,22 @@ class Filesystem
{
public function removeDirectory($directory)
{
if (!is_dir($directory)) {
return true;
}
if (defined('PHP_WINDOWS_VERSION_BUILD')) {
$cmd = sprintf('rmdir /S /Q %s', escapeshellarg(realpath($directory)));
} else {
$cmd = sprintf('rm -rf %s', escapeshellarg($directory));
}
return $this->getProcess()->execute($cmd) === 0;
$result = $this->getProcess()->execute($cmd) === 0;
// clear stat cache because external processes aren't tracked by the php stat cache
clearstatcache();
return $result;
}
public function ensureDirectoryExists($directory)