打开文件
fopen() 函数用于在 PHP 中打开文件。
此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件:
代码语言:javascript复制<html>
<body>
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
?>
</body>
</html>
模式 | 描述 |
---|---|
r | 只读。在文件的开头开始。 |
r | 读/写。在文件的开头开始。 |
w | 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。 |
w | 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。 |
a | 追加。打开并向文件末尾进行写操作,如果文件不存在,则创建新文件。 |
a | 读/追加。通过向文件末尾写内容,来保持文件内容。 |
x | 只写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。 |
x | 读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。 |
**注释:**如果 fopen() 函数无法打开指定文件,则返回 0 (false)。
关闭文件
fclose() 函数用于关闭打开的文件:
代码语言:javascript复制<?php
$file = fopen("test.txt","r");
//执行一些代码
fclose($file);
?>
检测文件末尾(EOF)
feof() 函数检测是否已到达文件末尾(EOF)。
**注释:**在 w 、a 和 x 模式下,您无法读取打开的文件!
代码语言:javascript复制if (feof($file)) echo "文件结尾";
逐行读取文件
fgets() 函数用于从文件中逐行读取文件。
**注释:**在调用该函数之后,文件指针会移动到下一行。
代码语言:javascript复制<?php
$file = fopen("welcome.txt", "r") or exit("无法打开文件!");
// 读取文件每一行,直到文件结尾
while(!feof($file))
{
echo fgets($file). "<br>";
}
fclose($file);
?>
逐字符读取文件
getc() 函数用于从文件中逐字符地读取文件。
代码语言:javascript复制<?php
$file=fopen("welcome.txt","r") or exit("无法打开文件!");
while (!feof($file))
{
echo fgetc($file);
}
fclose($file);
?>
汇总
代码语言:javascript复制<!DOCTYPE html>
<html>
<head>
<title>文件读写</title>
</head>
<body>
<?php
$file=fopen("test.txt","r") or exit("Unable to open file!");
/*fclose($file);//关闭文件
feof($file);//检测文件末尾
fgets($file);//逐行读取文件
fgetc($file);//逐字读取文件
*/
while (!feof($file)) {
echo '逐行读取:'.fgetc($file).'<br>';
/* echo '逐字读取:'.fgets($file).'<br>';*/
}
fclose($file)
?>
</body>
</html>