【发布时间】:2017-09-12 10:52:25
【问题描述】:
我有一个 PHP 文件,在该文件的顶部,我使用fopen() 创建了一个文件句柄。然后文件有几个类,在它们的函数中我将东西写入这个文本文件。最终,最终,即当我完成向该文件写入内容时,我必须使用 fclose() 关闭此文件句柄。
控制流程是这样的,在下面的伪代码中,类A 的函数a_b() 在这个PHP 脚本中被称为LAST OF ALL。所以,很自然地,在a_b()的正文末尾,我决定写成fclose($fileHandle);。
但我收到一个错误:注意:未定义的变量:第 15 行 C:\xampp\htdocs\Tests\Test.php 中的文件句柄
问题是为什么?我应该在哪里写声明fclose($fileHandle)?我应该把它写在文件的最后吗?
<?php
$fileHandle = fopen($pathToFileHandle, "a");
class A {
function a_a() {
...
fwrite($fileHandle, "blahBlahBlah");
}
function a_b() {
...
fwrite($fileHandle, "Whatever");
...
fclose($fileHandle);
}
}
class L {
function l_a() {
...
fwrite($fileHandle, "Some text");
...
}
}
?>
【问题讨论】:
-
为什么不打开和关闭内部方法?有理由不这样做吗?
-
@RajeshPaudel 说了什么。另外,第 15 行是哪一个?
-
@DimitrisDamilos
fclose($fileHandle);- 那是第 15 行 -
@RajeshPaudel 不,没有特别的原因,但这个问题的答案会让我更好地理解控制流 =)
-
类中的
$fileHandle是什么类型的变量?它是否公开发布,以便所有功能都可以访问它?
标签: php fopen file-handling filehandle fclose