猿问

如下所示,为什么只有他要用fclose函数关闭?

?php<br $filename = 'test.txt'; $somecontent = "添加这些文字到文件\n"; // 首先我们要确定文件存在并且可写。 if (is_writable($filename)) { // 在这个例子里,我们将使用添加模式打开$filename, // 因此,文件指针将会在文件的开头, // 那就是当我们使用fwrite()的时候,$somecontent将要写入的地方。 if (!$handle = fopen($filename, 'a')) { print "不能打开文件 $filename"; exit; } // 将$somecontent写入到我们打开的文件中。 if (!fwrite($handle, $somecontent)) { print "不能写入到文件 $filename"; exit; } print "成功地将 $somecontent 写入到文件$filename"; fclose($handle); } else { print "文件 $filename 不可写"; } ?> 问题: 最后的fclose函数关闭的$handle变量和普通的变量又什么不一样,为什么只有他要用fclose函数关闭? fclose($handle); 前加句var_dump($handle);后 结果多出resource(1) of type (stream) 还不是很懂!!!

侃侃尔雅
浏览 91回答 2
2回答

红糖糍粑

fclose是用来关闭流的使用fclose函数就可以把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区。如果只是fp=null,仅仅是把fp指到null而已,并不会释放文件流

MYYA

fclose($handle);前加句var_dump($handle);就清楚了这个和c里的文件I/O一样的,通俗的说$handle是指针,fclose是关闭指针
随时随地看视频慕课网APP
我要回答