💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 15.5 检查 # 检查 并不是所有的流操作都涉及到资源的操纵. 有时候也需要查看活动的流在某个时刻的状态, 或检查潜在可打开的资源的状态. 这一节流和包装器的ops函数都是在相同的数据结构php\_stream\_statbuf上工作的, 它只有一个元素: posix标准的struct statbuf. 当本节的某个函数被调用时, 将尝试填充尽可能多的statbuf元素的成员. ## stat 如果设置, 当请求激活流实例的信息时, 将会调用wrapper->ops->stream\_stat(). 如果没有设置, 则对应的stream->ops->stat()将会被调用. 无论哪个函数被调用, 都应该尽可能多的向返回的statbuf结构体ssb->sb中填充尽可能多流实例的有用信息. 在普通文件I/O的用法中, 它对应fstat()的标准I/O调用. ## url\_stat 在流实例外部调用wrapper->ops->url*stat()取到流资源的元数据. 通常来说, 符号链接和重定向都应该被解析, 直到找到一个真正的资源, 对其通过stat()系统调用这样的机制读取统计信息. url\_stat的flags参数允许是下面PHP\_STREAM\_URL\_STAT*\*系列的常量值(省略PHP*STREAM\_URL\_STAT*前缀): LINK 不解析符号链接和重定向. 而是报告它碰到的第一个节点的信息, 无论是连接还是真正的资源. QUIET 不报告错误. 注意, 这和许多其他流函数中的REPORT\_ERRORS逻辑恰恰相反. ## links - [目录](preface.md) - 15.4 [操纵](15.4.html) - 15.6 [小结](15.6.html)