欢迎访问宙启技术站
智能推送

PHP函数之文件读写处理函数

发布时间:2023-06-24 01:15:01

在 PHP 开发中,文件读写的处理是一个非常常见与基本的操作,也是进一步实现文件操作的关键。因此,掌握 PHP 中的文件读写处理函数,将对我们的开发具有非常大的帮助。

一、文件打开与关闭

打开文件是进行文件读写操作的基础,PHP 中使用 fopen() 函数可以打开文件,如下所示:

fopen ( string $filename , string $mode [, bool $use_include_path = FALSE [, resource $context ]] ) : resource

其中,$filename 代表要打开的文件名,$mode 表示打开文件的模式。具体选项如下:

- r:以只读方式打开文件。文件指针位于文件的开头,文件需存在。

- r+:以读写方式打开文件。文件指针位于文件的开头,文件需存在。

- w:以写入方式打开文件。文件指针位于文件的开头,若文件存在,则清空文件内容,若文件不存在则新建文件。

- w+:以读写方式打开文件。文件指针位于文件的开头,若文件存在,则清空文件内容,若文件不存在则新建文件。

- a:以写入方式打开文件。文件指针位于文件末尾,若文件不存在则新建文件。

- a+:以读写方式打开文件。文件指针位于文件末尾,若文件不存在则新建文件。

fopen() 函数返回一个文件资源,我们需要通过 fclose() 函数关闭文件。例如以下代码:

$fp = fopen("welcome.txt", "r");   //打开文件

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

我们也可以使用 file_get_contents() 函数读取一个文件,该函数会把整个文件读入一个字符串中:

$contents = file_get_contents("welcome.txt");  //读取文件

echo $contents;

二、文件读取函数

PHP 中有多种函数可以用来读取文件内容:

1. fgets()

fgets() 函数用来读取一行文件,以下是例子:

$fp = fopen("welcome.txt", "r");   

while(!feof($fp)){

    $line = fgets($fp);

    echo $line.'<br/>';

}

fclose($fp);

其中 fgets() 函数读取文件一行内容,当循环到文件末尾时,feof() 函数返回 true,跳出 while 循环。

2. fread()

fread() 函数用来读取指定长度的文件内容,以下是例子:

$fp = fopen("welcome.txt", "r");   

$contents = fread($fp, filesize("welcome.txt"));

echo $contents;

fclose($fp); 

其中 fread(file,length) 中 file 代表文件的名称,length 代表需要读取的长度,可以使用 filesize() 函数获取文件大小。

3. file()

file() 函数可以把整个文件读入一个数组中,其中每个数组元素为文件的一行内容。以下是例子:

$lines = file("welcome.txt");

foreach($lines as $line){

    echo $line.'<br/>';

}

三、文件写入函数

1. fwrite()

fwrite() 函数可以向指定文件中写入指定数据,具体使用方法如下:

$fp = fopen("welcome.txt", "w");

fwrite($fp, "欢迎使用 PHP 文件读写!");

fclose($fp);

其中 fwrite(file,data) 中 file 代表文件名称,data 代表需要写入的数据。

2. file_put_contents()

file_put_contents(path,data) 函数可以用来向指定文件中写入数据,如下所示:

file_put_contents("welcome.txt", "欢迎使用 PHP 文件读写!");

该函数可以用于替代我们之前提到的 fopen() 和 fwrite() 函数,更为方便。

四、文件处理辅助函数

如上所述,文件读写需要频繁地计算文件大小等各种参数,PHP 提供了一组辅助函数来简化这些操作:

1. filesize()

filesize(filename) 函数可以用来获取指定文件的大小,如下所示:

$size = filesize("welcome.txt");

echo $size;

2. feof()

feof(file) 函数检测是否到达文件末尾,如下所示:

$fp = fopen("welcome.txt", "r");

while(!feof($fp)){

    $line = fgets($fp);

    echo $line.'<br/>';

}

fclose($fp);

3. file_exists()

file_exists(filename) 判断所给定的文件名是否存在,如下所示:

if(file_exists("welcome.txt")){

    echo "该文件存在";

}else{

    echo "该文件不存在";

}

总的来说,PHP 中的文件读写处理函数是非常实用的工具,可以让 PHP 开发者方便快捷地完成大部分文件操作。掌握文件读写处理函数,将为我们开发过程带来更多的优势。