首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检查PHP流资源是否可读或可写?

如何检查PHP流资源是否可读或可写?
EN

Stack Overflow用户
提问于 2011-03-14 11:02:33
回答 2查看 17.3K关注 0票数 19

在PHP中,如何检查流资源(或文件指针、句柄或您想要调用它们的任何东西)是否可读或可写?例如,如果您面临这样一种情况,即您对资源是如何打开或创建的一无所知,如何检查它是否可读?如何检查它是否可写?

根据我所做的测试(仅针对使用PHP5.3.3的普通文本文件),当资源不可读时,fread()不会在任何级别抛出任何错误。它只返回一个空字符串,但对于空文件也是如此。理想情况下,最好有一个不修改资源本身的检查。通过尝试读取资源来测试资源是否可读将更改指针的位置。

相反,当资源不可写时,fwrite()不会在任何级别抛出任何错误。它只返回零。这稍微更有用一些,因为如果您试图向文件中写入一定数量的字节,而fwrite()返回0,那么您就知道出了问题。但是,这仍然不是一个理想的方法,因为在我需要写入它之前知道它是否可写要好得多,而不是试图写入它并查看它是否失败。

此外,理想情况下,检查应该适用于任何类型的流资源,而不仅仅是文件。

这个是可能的吗?真的存在这样的东西吗?我一直找不到任何有用的东西。提前感谢你的回答。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5294305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档