什么是文件处理?
文件处理包括读取,关闭,重写等。掌握文件的处理需要读者理清思路,掌握好文件处理的关键步骤和常用函数,那么就可以运用自如了!感兴趣的请移步php文件处理专题。
比如,访问一个文件需要 3 步:打开文件,读写文件以及关闭文件。其他对文件的操作要么是包含在读写文件中(如显示内容,写入内容等),要么与文件自身的属性有关系(如文件遍历,文件改名等)。那么从这篇文章开始将对常用的文件处理技术进行详细介绍。
今天这篇文章我们先来介绍一下打开/关闭文件,打开文件和关闭文件使用 fopen()函数和 fclose()函数。打开文件应该格外小心,因为一不小心就会有把文件内容全部删除的可能。
一:打开文件
对文件进行操作的时候,我们首先要做的就是打开文件,这是进行数据存取的第一步。在PHP中使用 fopen()函数打开文件,fopen()函数的语法如下:
1
|
resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )
|
参数 filename 是要打开包含路径的文件名,可以使相对路径,也可以是绝对路径。如果没有任何前缀侧表示打开的事本地文件,参数 mode 是打开文件的方式,可以去的值如下:
mode | 模式名称 | 说明 |
r | 只读 | 读模式—进行读取,文件指针位于文件的开头 |
r+ | 读写 | 读写模式—进行读写,文件指针位于文件的开头。在现有文件的内容的末尾之前进行写入就会覆盖原有的 |
W | 只写 | 写模式—进行写入文件,文件指针指向头文件。如果文件存在,则所有文件内容被删除,否则函数将创建这个文件 |
w+ | 读写 | 读写模式—进行读写,文件指针指向头文件。如果文件存在,则所有文件内容被删除,否则函数将创建这个文件 |
x | 谨慎写 | 写模式打开文件,从文件头开始写。如果文件已经存在,则该文件将不会被打开,函数返回false,PHP将产生一个警告 |
x+ | 谨慎写 | 读/写模式打开文件,从文件头开始写。如果文件已经存在,则该文件将不会被打开,函数返回false,PHP将产生一个警告 |
a | 追加 | 追加模式打开文件,文件指针指向尾文件,如果该文件已有内容,则将从文件末尾开始追加,如果该文件不存在,则函数将创建这个文件 |
a+ | 追加 | 追加模式打开文件,文件指针指向头文件,如果该文件已有内容,则将从文件末尾开始追加或者读取,如果该文件不存在,则函数将创建这个文件 |
b | 二进制 | 二进制模式—用于与其他模式进行连接。如果文件系统能够区分二进制文件和文本文件,可能会使用它。Windows可以区分;UNIX则不区分,推荐使用这个选项,便于获得最大程度的可移植性。它是默认模式 |
t | 文本 | 用于与其他模式的结合。这个模式只是 Windows下的一个选项 |
第三个参数 use_include_path 是可选的,该参数在配置文件 php.ini 中指定一个路径,如F:\AppServ\www\mess.php,如果希望服务器在这个路径下打开所指定的文件,可以将其值上设置为 1 或者 true。
二:关闭文件
对文件的操作结束后应该关闭这个文件,否则可能会引起错误。在 PHP 中使用 fclose()函数关闭文件,该函数的语法格式如下;
1
|
bool fclose ( resource $handle )
|
该函数将参数 handle 指向的文件关闭,如果成功,那么返回true,否则返回false。其中的文件指针必须是有效的,并且是通过 fopen()函数成功打开的文件。
具体我们看下下面的示例代码:
1
2
3
4
5
6
|
<?php header( "Content-Type:text/html; charset=utf-8" );
$f_open = fopen ( "../file.txt" , "rb" ); // 打开文件
................. //这里是对文件进行操作
fclose( $f_open ) //操作完成后关闭文件
?> |