Ben RecursiveDirectoryIterator okunmaz dizinleri atlamak yapabilir miyim?

0 Cevap php
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator(".")) as $file) {
  echo "$file\n";
}

UnexpectedValueException atmak değil bu kodu için herhangi bir yolu var mı "dir açılamadı: İzin engellendi" Ben listeye girişimi dizini içinde okunamaz alt olduğunda?

UPDATE

foreach() while() dönüştürme ve açıkça Iterator::next() try() catch {} yardım etmez sarılmış çağırıyor. Bu kod:

$iter = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("."));
while($iter->valid()) {
    $file = $iter->current();
    echo "$file\n";
    try {
        $iter->next();
    } catch(UnexpectedValueException $e) {
    }
};

okunmaz alt varsa sonsuz bir döngü.

0 Cevap