Нет, нет. Каталоги - это просто другой тип потоков, и вот как определяется оператор поиска:
static int php_plain_files_dirstream_rewind(php_stream *stream, off_t offset, int whence, off_t *newoffs TSRMLS_DC)
{
rewinddir((DIR *)stream->abstract);
return 0;
}
Вы видите, это просто перемотка. Таким образом, вы должны прочитать первые n записей, чтобы прочитать запись n + 1. Если вы хотите повысить эффективность, вы можете прочитать весь каталог в первый раз и использовать его в качестве кэша (например, хранить в сеансе). Прочитав все, вы переходите к смещению n + 1 в сохраненном массиве.