首页 > 编程笔记 > PHP笔记 阅读:4

PHP写入文件函数汇总(附带实例)

打开文件后,如果要实现修改文件的功能,那么必须对文件进行写入操作,在 PHP 中通过使用 fwrite() 函数、fputs() 函数和 file_put_contents() 函数来实现。

PHP fwrite()函数

该函数的基本语法如下:
int fwrite ( resource $handle , string $string [, int $length ] )
fwrite() 函数把 string 参数的值写入文件指针 handle 处。如果已指定 length 参数的值,当写入了相应长度的内容或者写完 string 参数的值后,写入就会停止。

【实例 1】写入文件。
<?php
$filename = 'readme';
$somecontent = "添加这些文字到文件 ";

// 首先要确定文件存在并且可写入
if (is_writable($filename)) {
    // 在这个实例中,将使用添加模式打开 $filename,因此,文件指针将会在文件的末尾,
    // 即当使用 fwrite() 函数时,$somecontent 将要写入的地方
    if (!$handle = fopen($filename, 'a')) {
        echo "不能打开文件 $filename";
        exit;
    }
   
    // 将 $somecontent 写入已打开的文件
    if (fwrite($handle, $somecontent) === FALSE) {
        echo "不能写入文件 $filename";
        exit;
    }
   
    echo "成功地将 $somecontent 写入文件 $filename";
    fclose($handle);
} else {
    echo "文件 $filename 不可写入";
}
?>
运行结果为:

成功地将 添加这些文字到文件 写入文件


readme 文件原内容如下:
[root@clinux html]# cat readme
1.test
2.测试文件
现有内容如下:
[root@clinux html]# cat readme
1.test
2.测试文件
添加这些文字到文件 添加这些文字到文件

PHP fputs()函数

此函数是 fwrite() 函数的别名,其用法和 fwrite() 函数一样,这里不再赘述。

PHP file_put_contents()函数

该函数的基本语法如下:
int file_put_contents ( string $filename , string $data [, int $flags [, resource $context ]] )
该函数将一个字符串写入文件。它和依次调用 fopen() 函数、fwrite() 函数及 fclose() 函数所实现的功能一样。

该函数的参数 data 可以是数组(但不能为多维数组),即 file_put_contents($filename,join('', $array))。

file_put_contents() 函数的参数及其说明如下表所示:

表:file_put_contents() 函数的参数及其说明说明
参数 说明
filename 要被写入数据的文件名
data 要写入的数据。类型可以是 string、array 等
flags 可以是 FILE_USE_INCLUDE_PATH, FILE_APPEND / LOCK_EX(获得一个独占锁定),然而在使用 FILE_USE_INCLUDE_PATH 时要特别谨慎
context 一个语境资源

【实例 2】通过 file_put_contents() 函数在 readme 文件现有内容中添加一段字符串,并将这些字符串分为 3 行。
<?php
$filename="readme";
$data="悄悄地, 我走了\r\n正如我悄悄地来\r\n我挥一挥衣袖";
$write=file_put_contents($filename,$data);
if($write==false)
    echo “不能写入文件”.$filename;
else
    echo "已经成功向“$filename”文件中添加内容,添加的字节数是".$write;
}
?>
执行代码后,运行结果为:

已经成功向readme文件中添加内容,添加的字节数是64


fwrite() 函数和 file_put_contents() 函数之间的区别如下:

相关文章