eio_readdir

(PECL eio >= 0.0.1dev)

eio_readdir - Π§ΠΈΡ‚Π°Ρ” вміст Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€Ρ–Ρ—

Опис

eio_readdir(Β Β Β Β string $path,Β Β Β Β int $flags,Β Β Β Β int $pri,Β Β Β Β callable $callback,Β Β Β Β string $data = NULL): resource

Π§ΠΈΡ‚Π°Ρ” вміст Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€Ρ–Ρ— (Π·Π° допомогою систСмних Π²ΠΈΠΊΠ»ΠΈΠΊΡ–Π² opendir readdirΠΈclosedir) Ρ– Π°Π±ΠΎ ΠΏΠΎΠ²Π΅Ρ€Ρ‚Π°Ρ” Ρ–ΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»Ρ–Π², Π°Π±ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ” масив як Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ result Ρƒ Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΡŽ callbackПовСдСниС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° зависит ΠΎΡ‚ значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°flags

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ–Π²

path

Шлях Π΄ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€Ρ–Ρ—.

flags

ΠšΠΎΠΌΠ±Ρ–Π½Π°Ρ†Ρ–Ρ констант EIO_READDIR_*

pri

ΠŸΡ€Ρ–ΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π·Π°ΠΏΠΈΡ‚Ρ–Π²: EIO_PRI_DEFAULT EIO_PRI_MIN EIO_PRI_MAX, ΠΈΠ»ΠΈ**null. Π―ΠΊΡ‰ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ null, Ρ‚ΠΎpriустанавливаСтся Π²EIO_PRI_DEFAULT**

callback

Ѐункцияcallback Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ”Ρ‚ΡŒΡΡ після Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ Π·Π°ΠΏΠΈΡ‚Ρƒ. Π’ΠΎΠ½Π° ΠΏΠΎΠ²ΠΈΠ½Π½Π° Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½ΡΡ‚ΠΈ наступний ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ:

Loading...

data

Ρ” Π΄Π°Π½ΠΈΠΌΠΈ користувача, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΈΠΌΠΈ Π² Π·Π°ΠΏΠΈΡ‚Ρ–.

result

ΠΌΡ–ΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΡƒΡŽΡ‡Π΅ значСння, Ρ‰ΠΎ Π·Π°Π»Π΅ΠΆΠΈΡ‚ΡŒ Π²Ρ–Π΄ Π·Π°ΠΏΠΈΡ‚Ρƒ; Π·Π°Π·Π²ΠΈΡ‡Π°ΠΉ Ρ†Π΅ значСння, якС ΠΏΠΎΠ²Π΅Ρ€Ρ‚Π°Ρ”Ρ‚ΡŒΡΡ Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Π½ΠΈΠΌ систСмним Π²ΠΈΠΊΠ»ΠΈΠΊΠΎΠΌ.

req

Ρ” ΠΎΠΏΡ†Ρ–ΠΎΠ½Π°Π»ΡŒΠ½ΠΈΠΌ Π·Π°ΠΏΠΈΡ‚ΡƒΠ²Π°Π½ΠΈΠΌ рСсурсом, який ΠΌΠΎΠΆΠ΅ використовуватися Π· Ρ‚Π°ΠΊΠΈΠΌΠΈ функціями як eio_get_last_error()

data

Π”Π°Π½Ρ–, які ΠΏΠΎΡ‚Ρ€Ρ–Π±Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— callback

ЗначСння, Ρ‰ΠΎ ΠΏΠΎΠ²Π΅Ρ€Ρ‚Π°ΡŽΡ‚ΡŒΡΡ

eio_readdir() ΠΏΠΎΠ²Π΅Ρ€Ρ‚Π°Ρ” рСсурс Π·Π°ΠΏΠΈΡ‚Ρƒ Ρƒ Ρ€Π°Π·Ρ– ΡƒΡΠΏΡ–ΡˆΠ½ΠΎΠ³ΠΎ виконання Π°Π±ΠΎ false Ρƒ Ρ€Π°Π·Ρ– виникнСння ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ. Π’Π°ΠΊΠΎΠΆ ΠΌΠΎΠΆΠ΅ ставити значСння Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ result Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— callbackΠ² зависимости ΠΎΡ‚ значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°flags :

EIO_READDIR_DENTS(int)

Π€Π»Π°Π³eio_readdir(). Π―ΠΊΡ‰ΠΎ Π·Π°Π΄Π°Π½ΠΈΠΉ, як Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ callback-Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΠΈΠΌΠ΅Ρ‚ΡŒΡΡ масив Π· Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ: 'names' - масив Ρ–ΠΌΠ΅Π½ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€Ρ–Ρ— 'dents' - масив структур Ρ‚ΠΈΠΏΡƒ struct eio_dirent, ΠΊΠΎΠΆΠ½Π° Π· яких Ρ” масивом Π· ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ: 'name' - Π†ΠΌ'я Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€Ρ–Ρ—; 'type'- ΠΎΠ΄Π½Π° ΠΈΠ· константEIO_DT_* 'inode'- Π½ΠΎΠΌΠ΅Ρ€ ΡƒΠ·Π»Π° inode, Ссли доступСн, Π»ΠΈΠ±ΠΎ пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;

EIO_READDIR_DIRS_FIRST(int)

Π―ΠΊΡ‰ΠΎ Ρ†Π΅ΠΉ ΠΏΡ€Π°ΠΏΠΎΡ€ Π·Π°Π΄Π°Π½ΠΎ, ΠΏΠ΅Ρ€ΡˆΠΈΠΌΠΈ ΠΏΠΎΠ²Π΅Ρ€Ρ‚Π°Ρ‚ΠΈΠΌΡƒΡ‚ΡŒΡΡ Ρ–ΠΌΠ΅Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€Ρ–ΠΉ, ΠΏΠΎΡ‚Ρ–ΠΌ Ρ–ΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»Ρ–Π². ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ проходТСння Ρ–ΠΌΠ΅Π½ Ρƒ ΠΊΠΎΠΆΠ½Ρ–ΠΉ Π³Ρ€ΡƒΠΏΡ– Π±ΡƒΠ΄Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΈΠΌ для застосування Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— stat.

EIO_READDIR_STAT_ORDER(int)

Π―ΠΊΡ‰ΠΎ Ρ†Π΅ΠΉ ΠΏΡ€Π°ΠΏΠΎΡ€ Π·Π°Π΄Π°Π½ΠΎ, Ρ–ΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»Ρ–Π² Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€Ρ–ΠΉ ΠΏΠΎΠ²Π΅Ρ€Ρ‚Π°Ρ‚ΠΈΠΌΡƒΡ‚ΡŒΡΡ Π² порядку, Π·Ρ€ΡƒΡ‡Π½ΠΎΠΌΡƒ для Π·Π±ΠΎΡ€Ρƒ статистики (stat) ΠΊΠΎΠΆΠ½ΠΎΠ³ΠΎ Π· ΠΎΠ±'Ρ”ΠΊΡ‚Ρ–Π². Π―ΠΊΡ‰ΠΎ ΠΎΡ‚Ρ€ΠΈΠΌΠ°Π½ΠΈΠΉ список Ρ–ΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅Π΄Π±Π°Ρ‡Π°Ρ”Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΠΈ Ρƒ Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΡŽ stat(), порядок проходТСння Ρ–ΠΌΠ΅Π½ Π·Π°Π±Π΅Π·ΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π½Π°ΠΉΡˆΠ²ΠΈΠ΄ΡˆΡƒ Ρ€ΠΎΠ±ΠΎΡ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ—.

EIO_READDIR_FOUND_UNKNOWN(int)

Π’ΠΈΠΏΠΈ Π²ΡƒΠ·Π»Ρ–Π²:

EIO_DT_UNKNOWN(int)

НСвідомий Ρ‚ΠΈΠΏ Π²ΡƒΠ·Π»Π° (Π΄ΡƒΠΆΠ΅ часто). НСобхідна ΠΎΠ±Ρ€ΠΎΠ±ΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ”ΡŽ stat()

EIO_DT_FIFO(int)

Π’ΠΈΠΏ Π²ΡƒΠ·Π»Π° - FIFO

EIO_DT_CHR(int)

Π’ΠΈΠΏ Π²ΡƒΠ·Π»Π°

EIO_DT_MPC(int)

Π’ΠΈΠΏ Π²ΡƒΠ·Π»Π° - складовий символьний пристрій (v7+coherent)

EIO_DT_DIR(int)

Π’ΠΈΠΏ Π²ΡƒΠ·Π»Π° - дирСкторія

EIO_DT_NAM(int)

Π’ΠΈΠΏ Π²ΡƒΠ·Π»Π° - Ρ„Π°ΠΉΠ» Π·Ρ– ΡΠΏΠ΅Ρ†Ρ–Π°Π»ΡŒΠ½ΠΈΠΌ Xenix наймСнуванням

EIO_DT_BLK(int)

Π’ΠΈΠΏ Π²ΡƒΠ·Π»Π°

EIO_DT_MPB(int)

Π‘ΠΊΠ»Π°Π΄ΠΎΠ²ΠΈΠΉ Π±Π»ΠΎΠΊΠΎΠ²ΠΈΠΉ пристрій (v7+coherent)

EIO_DT_REG(int)

Π’ΠΈΠΏ Π²ΡƒΠ·Π»Π°

EIO_DT_NWK(int)

EIO_DT_CMP(int)

Π‘ΠΏΠ΅Ρ†Ρ–Π°Π»ΡŒΠ½ΠΈΠΉ Ρ‚ΠΈΠΏ Π²ΡƒΠ·Π»Π° для ΠΌΠ΅Ρ€Π΅ΠΆ HP-UX

EIO_DT_LNK(int)

Π’ΠΈΠΏ Π²ΡƒΠ·Π»Π° - посилання

EIO_DT_SOCK(int)

Π’ΠΈΠΏ Π²ΡƒΠ·Π»Π° - сокСт

EIO_DT_DOOR(int)

Π’ΠΈΠΏ Π²ΡƒΠ·Π»Π° - Solaris door

EIO_DT_WHT(int)

Π’ΠΈΠΏ Π²ΡƒΠ·Π»Π°

EIO_DT_MAX(int)

МаксимальнС значСння Ρ‚ΠΈΠΏΡƒ Π²ΡƒΠ·Π»Π°

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ΠΈ

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ #1 ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ використання eio_readdir()****

Loading...

Висновок Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Ρƒ Π±ΡƒΠ΄Π΅ схоТим Π½Π°:

Π’Ρ‹Π·Π²Π°Π½Π° функция my_readdir_callback
Π΄Π°Π½Π½Ρ‹Π΅: NULL
Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: array(2) {
 ["names"]=>
  array(7) {
   [0]=>
    string(7) "archive"
    [1]=>
    string(8) "articles"
    [2]=>
    string(8) "incoming"
    [3]=>
    string(7) "innfeed"
    [4]=>
    string(8) "outgoing"
    [5]=>
    string(8) "overview"
    [6]=>
    string(3) "tmp"
  }
 ["dents"]=>
  array(7) {
   [0]=>
    array(3)
    {
     ["name"]=>
      string(7)
      "archive"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393265)
    }
   [1]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "articles"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393266)
    }
   [2]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "incoming"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393267)
    }
   [3]=>
    array(3)
    {
     ["name"]=>
      string(7)
      "innfeed"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393269)
    }
   [4]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "outgoing"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393270)
    }
   [5]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "overview"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393271)
    }
   [6]=>
    array(3)
    {
     ["name"]=>
      string(3)
      "tmp"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393272)
    }
  }
}