diff --git a/System/File/Local/Directory.php b/System/File/Local/Directory.php index 95173e874..3d6b32cf7 100644 --- a/System/File/Local/Directory.php +++ b/System/File/Local/Directory.php @@ -88,7 +88,7 @@ final class Directory extends FileAbstract implements DirectoryInterface $iterator = $recursive ? new \RecursiveIteratorIterator( - new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS), + new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS | \FilesystemIterator::CURRENT_AS_PATHNAME), \RecursiveIteratorIterator::SELF_FIRST) : new \DirectoryIterator($path); @@ -131,7 +131,7 @@ final class Directory extends FileAbstract implements DirectoryInterface $iterator = $recursive ? new \RecursiveIteratorIterator( - new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS), + new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS | \FilesystemIterator::CURRENT_AS_PATHNAME), \RecursiveIteratorIterator::SELF_FIRST) : new \DirectoryIterator($path); @@ -365,7 +365,7 @@ final class Directory extends FileAbstract implements DirectoryInterface } foreach ($iterator = new \RecursiveIteratorIterator( - new \RecursiveDirectoryIterator($from, \RecursiveDirectoryIterator::SKIP_DOTS), + new \RecursiveDirectoryIterator($from, \RecursiveDirectoryIterator::SKIP_DOTS | \FilesystemIterator::CURRENT_AS_PATHNAME), \RecursiveIteratorIterator::SELF_FIRST) as $item ) { /** @var \RecursiveDirectoryIterator $iterator */ diff --git a/Utils/IO/Zip/Tar.php b/Utils/IO/Zip/Tar.php index 1d873d2c3..91a37f1c3 100644 --- a/Utils/IO/Zip/Tar.php +++ b/Utils/IO/Zip/Tar.php @@ -54,7 +54,7 @@ class Tar implements ArchiveInterface if (\is_dir($source)) { $files = new \RecursiveIteratorIterator( - new \RecursiveDirectoryIterator($source), + new \RecursiveDirectoryIterator($source, \FilesystemIterator::CURRENT_AS_PATHNAME), \RecursiveIteratorIterator::SELF_FIRST ); diff --git a/Utils/IO/Zip/Zip.php b/Utils/IO/Zip/Zip.php index a4921363b..9e84a7b37 100644 --- a/Utils/IO/Zip/Zip.php +++ b/Utils/IO/Zip/Zip.php @@ -59,12 +59,12 @@ class Zip implements ArchiveInterface if (\is_dir($source)) { $files = new \RecursiveIteratorIterator( - new \RecursiveDirectoryIterator($source), + new \RecursiveDirectoryIterator($source, \FilesystemIterator::CURRENT_AS_PATHNAME), \RecursiveIteratorIterator::SELF_FIRST ); foreach ($files as $file) { - $file = \str_replace('\\', '/', $file->key()); + $file = \str_replace('\\', '/', $file); /* Ignore . and .. */ if (($pos = \mb_strrpos($file, '/')) === false diff --git a/tests/phpunit_no_coverage.xml b/tests/phpunit_no_coverage.xml index b77acb1e9..cd3ce2e30 100644 --- a/tests/phpunit_no_coverage.xml +++ b/tests/phpunit_no_coverage.xml @@ -1,5 +1,5 @@ - + .*