PHP 文件处理 - fopen
PHP 语言内置了 fopen()
函数用于在 PHP 中打开其它文件,然后返回文件的句柄
PHP fopen() 函数
PHP fopen() 函数用于在 PHP 中打开文件,返回打开的文件句柄
如果 fopen() 函数无法打开指定文件,则返回 0 (false)
fopen() 函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件
<!DOCTYPE html> <meta charset="utf-8"/> <?php $file=fopen("welcome.txt","r"); ?>
文件打开模式可以是以下值
模式 | 名称 | 描述 |
---|---|---|
r | 只读 | 在文件的开头开始 |
r+ | 读写 | 在文件的开头开始 |
w | 只写 | 打开并清空文件的内容;如果文件不存在,则创建新文件 |
w+ | 读写 | 打开并清空文件的内容;如果文件不存在,则创建新文件 |
a | 追加 | 打开并向文件末尾进行写操作,如果文件不存在,则创建新文件 |
a+ | 读追加 | 通过向文件末尾写内容,来保持文件内容 |
x | 只写 | 创建新文件,如果文件已存在,则返回 FALSE 和一个错误 |
x+ | 读写 | 创建新文件,如果文件已存在,则返回 FALSE 和一个错误 |
范例
如果 fopen() 函数不能打开指定的文件,下面的范例会生成一段消息
php_file_1.php
<!DOCTYPE html> <meta charset="utf-8"/> <?php $file = fopen("welcome.txt","r") or exit("Unable to open file!");?> ?>
运行以上范例,因为我们 welcome.txt 文件不存在,所以打开失败,显示结果如下
关闭文件
PHP 提供了 fclose() 函数用于关闭打开的文件
<?php $file = fopen("test.txt","r"); //执行一些代码 fclose($file);
检测文件末尾(EOF)
PHP 提供了 feof() 函数检测是否已到达文件末尾 ( EOF )
在循环遍历未知长度的数据时,feof() 函数很有用
注意,在 w 、a 和 x 模式下,我们无法读取打开的文件
<?php if (feof($file)) { echo "文件结尾"; }
逐行读取文件
PHP 提供了 fgets() 函数用于从文件中逐行读取文件
在调用该函数之后,文件指针会移动到下一行
下面的代码逐行读取文件,直到文件末尾为止
<?php $file = fopen("welcome.txt", "r") or exit("无法打开文件!"); // 读取文件每一行,直到文件结尾 while(!feof($file)) { echo fgets($file),"<br>"; } fclose($file);
逐字符读取文件
PHP 提供了 fgetc() 函数用于从文件中逐字符地读取文件
在调用该函数之后,文件指针会移动到下一个字符
下面的代码逐字符地读取文件,直到文件末尾为止
<?php $file=fopen("welcome.txt","r") or exit("无法打开文件!"); while (!feof($file)) { echo fgetc($file); } fclose($file);
PHP File system 函数参考手册
如果你想要了解 PHP 文件系统 提供了哪些函数,可以访问我们的 PHP Filesystem 函数参考手册