0

使用 RecursiveDirectoryIterator 时出现此错误。

致命错误:未捕获的异常 'UnexpectedValueException' 带有消息 'RecursiveDirectoryIterator::__construct(public/user_/,public/user_/):系统找不到指定的路径。(代码:3)' 在 D:\xam\htdocs\s\upload.php:101 堆栈跟踪:#0 D:\xam\htdocs\s\upload.php(101): RecursiveDirectoryIterator->__construct('public/ user_/') #1 D:\xam\htdocs\s\upload.php(138): dirSize('public/user_/') #2 {main} 在 D:\xam\htdocs\s\upload.php 中抛出在第 101 行

这是我正在使用的代码。

function dirSize($directory) {
    $size = 0;
    foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)) as $file) {
        $size+=$file->getSize();
    }
    return $size;
}

请帮忙!!!

4

1 回答 1

-1

这里有一个有限的上下文来看看出了什么问题。但是,您给它的目录似乎D:\xam\htdocs\s\upload.php对于开始迭代和查找大小是无效的。

try/catch选项将阻止它抛出错误和失败

function dirSize($directory) {
  $size = 0;
  try {
    foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)) as $file) {
      $size += $file->getSize();
    }
  } catch(Exception $e) {
    echo "Error: " . $e;
    echo "On: " . $directory;
  }
  return $size;
}
于 2021-06-15T14:10:58.783 回答