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 函数参考手册

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.