PHP fclose函数用法总结

1. 什么是fclose()

fclose()是用来关闭一个打开的文件的函数,这个函数可以用来关闭文件句柄以及将记录的数据从PHP缓冲区中写入打开的文件中。如果一个文件句柄没有被关闭,会在最终关闭PHP进程之前一直保持打开状态,造成资源浪费并且可能会阻止其他程序对该文件进行访问。

2. fclose()的语法

fclose() 所需的必要参数就是打开文件返回的文件句柄。语法如下:

fclose($file)

文件句柄变量是通过 PHP 函数 fopen() 返回的,如下所示:

$file = fopen("test.txt", "r");

// 一些代码

fclose($file);

3. fclose()的实例

3.1 实例1:关闭文件句柄

这个实例会打开一个文件,检查是否成功打开,如果成功打开文件,那么将文件读取到一个字符串中,最终通过调用fclose()函数来关闭这个文件:

$file = fopen("test.txt","r");

if ($file) {

$contents = fread($file, filesize("test.txt"));

fclose($file);

}

3.2 实例2:用fwrite()写入一个文件,最终通过fclose()来关闭这个文件

这个实例会将文本放置到一个文件中,使用fclose()函数来将内容从PHP缓冲区刷新到文件中:

$file = fopen("newfile.txt","w+");

fwrite($file,"Hello World. Putting some text to test this out!");

fclose($file);

3.3 实例3:关闭文件

这个实例会打开一个文件,并将文件中的内容读取到一个字符串中。如果文件成功打开,那么调用fclose()来关闭文件:

$filename = 'test.txt';

$handle = fopen($filename, 'r');

$data = fread($handle, filesize($filename));

fclose($handle);

3.4 实例4:清空缓冲区,并关闭文件

这个实例会打开一个文件,对文件进行一些写入操作,并且之后同样通过fclose()函数来刷新输出到文件中的内容:

$filename = "test.txt";

$file = fopen( $filename, "w" );

fwrite( $file, "Some data to save to the file" );

fflush( $file ); //清空缓冲区

fclose( $file ); //关闭文件

4. 结论

在PHP中,如果不小心关闭了一个文件句柄,会在PHP进程结束之前重新打开这个文件句柄,因此关闭文件句柄是一个很好的做法,防止文件句柄被浪费并且决定程序在何时输出或者写入数据到文件。

后端开发标签