PHP文件读取与写入操作指南

1. PHP文件读取操作

在PHP中,常用的文件读取函数有:

fopen()、feof()、fgets()、fgetc()、file_get_contents()等。

1.1 fopen()

fopen()函数用于打开一个文件,函数原型如下:

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

其中:

$filename:必需,规定要打开的文件名以及文件的路径。

$mode:必需,规定如何打开文件。具体模式如下:

r:只读方式打开,文件指针放在文件的开头。

r+:读写方式打开,文件指针放在文件的开头。

w:写入方式打开,清空文件内容,如果文件不存在则创建文件。

w+:读写方式打开,清空文件内容,如果文件不存在则创建文件。

a:写入方式打开,文件指针放在文件末尾,如果文件不存在则创建文件。

a+:读写方式打开,文件指针放在文件末尾,如果文件不存在则创建文件。

例如,执行以下代码:

$myfile = fopen("test.txt", "r") or die("Unable to open file!");

echo fread($myfile,filesize("test.txt"));

fclose($myfile);

代码的执行结果为:

Test file content.

1.2 fgets()

fgets()函数用于从打开的文件中获取一行内容,函数原型如下:

string fgets ( resource $handle [, int $length ] )

其中:

$handle:必需,规定要读取的文件。

$length:可选,规定要读取的字节数。默认是 1024 字节。

例如,执行以下代码:

$myfile = fopen("test.txt", "r") or die("Unable to open file!");

echo fgets($myfile);

fclose($myfile);

代码的执行结果为:

Test file content.

2. PHP文件写入操作

在PHP中,常用的文件写入函数有:

fwrite()、fputs()、file_put_contents()等。

2.1 fwrite()

fwrite()函数用于向打开的文件中写入内容,函数原型如下:

int fwrite ( resource $handle , string $string [, int $length ] )

其中:

$handle:必需,规定要写入数据的文件。

$string:必需,规定要写入的数据。

$length:可选,规定要写入的字节数。

例如,执行以下代码:

$myfile = fopen("test.txt", "w") or die("Unable to open file!");

$txt = "Test file content.";

fwrite($myfile, $txt);

fclose($myfile);

执行结果是将字符串 "Test file content." 写入到文件 "test.txt" 中。如果文件不存在,则会创建文件。

2.2 file_put_contents()

file_put_contents()函数用于向文件中写入内容,并返回写入的字节数,函数原型如下:

int|false file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )

其中:

$filename:必需,规定要写入数据的文件名以及路径。

$data:必需,规定要写入的数据。

$flags:可选,规定对文件进行操作的其他标志。默认是 0,表示没有附加标志。

例如,执行以下代码:

$file = 'test.txt';

$data = "Test file content.\n";

file_put_contents($file, $data, FILE_APPEND | LOCK_EX);

代码执行后,"Test file content." 会被写入到文件 "test.txt" 中。其中,使用了一个附加标志 FILE_APPEND,它表示在已有内容末尾附加内容,如果文件不存在则创建文件。

2.3 fputs()

fputs()函数用于向打开的文件中写入内容,函数与fwrite()函数基本相同。通常情况下,它们可以互换使用。函数原型如下:

int fputs ( resource $handle , string $string [, int $length ] )

其中:

$handle:必需,规定要写入数据的文件。

$string:必需,规定要写入的数据。

$length:可选,规定要写入的字节数。

例如,执行以下代码:

$myfile = fopen("test.txt", "w") or die("Unable to open file!");

$txt = "Test file content.";

fputs($myfile, $txt);

fclose($myfile);

代码的执行结果与fwrite()函数相同。如果文件不存在,则会创建文件。

后端开发标签