PHP.mk документација

RecursiveDirectoryIterator::__construct

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

recursivedirectoryiterator.construct.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека recursivedirectoryiterator.construct.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
RecursiveDirectoryIterator::__construct

Референца за `recursivedirectoryiterator.construct.php` со подобрена типографија и навигација.

recursivedirectoryiterator.construct.php

RecursiveDirectoryIterator::__construct

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

RecursiveDirectoryIterator::__constructConstructs a RecursiveDirectoryIterator

= NULL

public RecursiveDirectoryIterator::__construct(string $directory, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO)

Конструира RecursiveDirectoryIterator() for the provided directory.

Параметри

directory

The path of the directory to be iterated over.

flags

Flags may be provided which will affect the behavior of some methods. A list of the flags can found under FilesystemIterator predefined constants. They can also be set later with Ги добива знаменцата за ракување, како што е поставено во.

Errors/Exceptions

Фрла UnexpectedValueException ако directory веќе постои. На Windows, функцијата исто така откажува и издава

Фрла ValueError ако directory е празен стринг.

Дневник на промени

Верзија = NULL
8.0.0 Сега фрла ValueError if directory е празен стринг; претходно фрлаше RuntimeException.

Примери

Пример #1 RecursiveDirectoryIterator example

<?php

$directory
= '/tmp';

$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));

$it->rewind();
while(
$it->valid()) {

if (!
$it->isDot()) {
echo
'SubPathName: ' . $it->getSubPathName() . "\n";
echo
'SubPath: ' . $it->getSubPath() . "\n";
echo
'Key: ' . $it->key() . "\n\n";
}

$it->next();
}

?>

Горниот пример ќе прикаже нешто слично на:

SubPathName: fruit/apple.xml
SubPath:     fruit
Key:         /tmp/fruit/apple.xml

SubPathName: stuff.xml
SubPath:     
Key:         /tmp/stuff.xml

SubPathName: veggies/carrot.xml
SubPath:     veggies
Key:         /tmp/veggies/carrot.xml

Види Исто така

Белешки од корисници 2 забелешки

pedro dot matamouros at gmail dot com
пред 15 години
You can use RecursiveDirectoryIterator::FOLLOW_SYMLINKS as a flag to the constructor to have RecursiveDirectoryIterator follow symlinks, which it does not do by default.

[EDIT BY danbrown AT php DOT net on 16-JUL-2012: Contains a typofix provided by (lightrekky AT gmail DOT com) in note #109280 on 02-JUL-2012.]
hanskrentel at yahoo dot de
пред 13 години
The two default flags are zero (virtual) as with my PHP versions (5.3 and 5.4). Which means you can not check if those are set or not with the & bitwise operator:

<?php
// CURRENT_AS_FILEINFO (0)
// KEY_AS_PATHNAME (0)

### always FALSE ###
$directoryIterator->getFlags() & RecursiveDirectoryIterator::CURRENT_AS_FILEINFO;

?>

But this also allows that you can use other flags right ahead without repeating the default ones:

<?php
new RecursiveDirectoryIterator(
    '.', 
    FilesystemIterator::UNIX_PATHS
);
?>

There is no need to repeat the default flags. Please note that this is different to FilesystemIterator which has as well the SKIP_DOTS flag as default which is non-zero:

<?php
new RecursiveDirectoryIterator(
    '.', 
    FilesystemIterator::SKIP_DOTS
        | FilesystemIterator::UNIX_PATHS
);
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.