Fix #1143 Add additional check to skip broken symlinks to avoid RuntimeException: SplFileInfo::getSize(): stat failed

This commit is contained in:
Anaggh S 2020-02-27 02:58:05 +05:30
parent 2e2b5a179a
commit 7ae53cfd63
1 changed files with 5 additions and 3 deletions

View File

@ -268,7 +268,7 @@ class Filesystem {
/**
* Get Size of file or directory in bytes
* @param [string] $fileOrDirectory
* @return [int|bool [bytes or false on error]
* @return [int|bool] [bytes or false on error]
*/
public static function getSize($fileOrDirectory) {
// Files
@ -278,8 +278,10 @@ class Filesystem {
// Directories
if (file_exists($fileOrDirectory)) {
$size = 0;
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($fileOrDirectory)) as $file){
$size += $file->getSize();
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($fileOrDirectory, FilesystemIterator::SKIP_DOTS)) as $file){
if (file_exists($file)) {
$size += $file->getSize();
}
}
return $size;
}