streamWrapper::dir_rewinddir()
将目录指针重新指向目录的开头
函数名称:streamWrapper::dir_rewinddir()
适用版本:PHP 4 >= 4.3.2, PHP 5, PHP 7
函数说明:streamWrapper::dir_rewinddir() 方法用于将目录指针重新指向目录的开头。
语法:bool streamWrapper::dir_rewinddir ( void )
参数:
该函数没有任何参数。
返回值:
如果成功将目录指针重新指向目录的开头,则返回 true。否则返回 false。
示例:
dirHandle = opendir($path);
// 读取目录中的所有文件和子目录
while (($entry = readdir($this->dirHandle)) !== false) {
$this->dirEntries[] = $entry;
}
// 设置位置为开头
$this->position = 0;
return true;
}
public function dir_readdir() {
// 如果位置超出范围,则返回 false
if (!isset($this->dirEntries[$this->position])) {
return false;
}
// 获取当前位置的目录项
$entry = $this->dirEntries[$this->position];
// 增加位置
$this->position++;
return $entry;
}
public function dir_rewinddir() {
// 将位置设置为开头
$this->position = 0;
return true;
}
public function dir_closedir() {
// 关闭目录句柄
closedir($this->dirHandle);
return true;
}
}
// 注册自定义流处理器
stream_wrapper_register("mywrapper", "MyStreamWrapper");
// 打开目录
$handle = opendir("mywrapper://path/to/directory");
// 读取目录中的文件和子目录
while (($entry = readdir($handle)) !== false) {
echo $entry . "\n";
}
// 将目录指针重新指向开头
rewinddir($handle);
// 再次读取目录中的文件和子目录
while (($entry = readdir($handle)) !== false) {
echo $entry . "\n";
}
// 关闭目录
closedir($handle);
?>
以上示例中,我们创建了一个自定义流处理器 MyStreamWrapper,并注册为 mywrapper。然后我们使用 opendir() 函数打开目录 mywrapper://path/to/directory,并使用 readdir() 函数读取了目录中的文件和子目录。接着使用 rewinddir() 函数将目录指针重新指向开头,并再次使用 readdir() 函数读取了目录中的文件和子目录。最后使用 closedir() 函数关闭了目录句柄。