Неустранимая ошибка: необработанное исключение "UnexpectedValueException" с сообщением "RecursiveDirectoryIterator::__construct(public/user_/,public/user_/)

Я получаю эту ошибку при использовании 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;
}

Пожалуйста помоги!!!

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;
}
Другие вопросы по тегам