在我的脚本中,我需要一个CSV文件的开放流,我的应用程序将根据不同的请求读取其中的一行,多行或全部行,并将它们存储在一个数组中!
当我们达到读取并存储所有行的时间时,脚本将关闭该文件。
但我也将close文件方法添加到类析构函数
中public function __destruct()
{
fclose($this->handler)
}
我想知道这是否真的有必要?或者考虑到这是我的脚本生命周期的结束,文件处理程序将由PHP的垃圾收集器处理并添加上面的destruct方法不会添加任何值?
答案 0 :(得分:2)
我不想在不再需要写入或异常时关闭文件:
try {
//write file
//close file after all reading operations has been done
} catch (Exception $e) {
fclose($this->handler);
}
这是一个紧急或无法解决的问题,因为PHP会在删除对象后关闭文件。如果没有,PHP解释器将释放所有资源,并且在文件中它将释放内存地址,并且任何未完成的写入都将无法完成。