为什么在 PHP 中写入文件后需要“fclose”?

php
2022-08-30 14:18:35

为什么在使用php写入文件后需要使用函数来完成?程序在结束时不是会自动执行此操作吗?fclose($handle)


答案 1

是的。但是,自己动手是一种很好的做法。此外,在对脚本的其余部分进行整个执行期间,您将保持文件处于打开状态,应避免这种情况。因此,除非您的脚本在完成写入后直接完成执行,否则您基本上会使文件保持打开的时间超过所需的时间。


答案 2

输出缓冲区中可能存在未写入的数据,在文件关闭之前不会写入这些数据。如果在最终写入时发生错误,则无法判断输出不完整,这可能会导致以后出现各种问题。

通过显式调用检查其返回值,您有机会:fclose()

  • 重试操作
  • 展开更改
  • 将故障条件返回给调用函数
  • 向用户报告问题
  • 在日志文件中记录问题
  • 将故障指示返回到执行环境(如命令行 shell),这在工具链中使用时可能至关重要。

或适合您情况的其他方式。

这在 fclose() 手册页的评论部分有所提及。


推荐