$ = "数据.txt";
//声明一个变量来保存要写入文件的数据
$data = "共10行数据\n";
for($row=0;$row // 将所有 10 条数据存储在字符串变量中
$data .= $row.":\n";
//一次性将所有数据写入指定文件
($,$数据);
该函数可以直接向指定文件写入数据。 如果同时调用该函数多次并将数据写入同一个文件,则文件中只会保存最后一次调用该函数写入的数据。 因为每次删除文件都会被重新打开,文件中的原始数据也会被清除,所以不能像第一个程序那样连续写入多行数据。
2.读取文件内容
PHP提供了多个标准函数用于从文件中读取内容,您可以根据其功能特点选择在程序中使用哪个函数。 这些函数及其描述如下表所示。
读取文件时,不仅要注意行尾符号“\n”,程序还需要一个标准的方式来识别何时到达文件末尾,这个标准通常称为EOF(End Of File) ) 特点。 EOF是一个非常重要的概念。 几乎每种主流编程语言都提供了相应的内置函数来分析文件是否到达EOF。 在 PHP 中,使用 feof() 函数。 该函数接受一个打开的文件资源,确定文件指针是否位于文件末尾,如果位于文件末尾则返回 TRUE。
①函数fread()
该函数用于读取打开的文件中指定长度的字符串。 对于二进制文件来说也是安全的,当在区分二进制文件和文本文件的系统上打开文件时,将“b”添加到 fopen() 函数的模式参数中(例如)。 函数fread()的原型如下:
代码如下所示:
fread(int ,int ) //读取打开的文件
该函数最多从文件指针资源读取字节。 当已读取字节数、达到 EOF 或(对于网络流)数据包可用时(以先到者为准),读取文件将停止。 该函数返回读取的内容字符串,失败时返回 FALSE。 使用该函数的代码如下:
代码如下所示:
<?php
//从文件中读取指定数量的字节并将其存储在变量中
$ = "数据.txt";
$ = fopen($, 'r') or die("打开文件失败");
$ = fread($, 100); // 从文件中读取 100 个字节
($); //关闭文件资源
回声$; // 输出从文件中读取的内容
//将文件中的全部内容读入变量,每次读一部分,循环读
$ = "c:\\文件\\.gif";
$ = fopen($, 'rb') or die("打开文件失败"); //只读模式下,模式中添加'b'
$=“”;
while(!feof($)){ //使用feof()判断文件结尾
$ .=fread($, 1024); //每次读取1024字节
($); //关闭文件资源
回声$; // 输出从文件中读取的所有内容
// 从文件中读取全部内容的另一种方法
$ = "数据.txt";
$ = fopen($, "r") or die("打开文件失败");
$ = fread($, ($)); // 使用()函数一起读取
($);
回声$;
如果只是想将文件内容读入字符串,可以使用()函数,它比上面的代码性能要好很多。 () 函数是将文件内容读入字符串的首选方法,并且在操作系统支持的情况下使用内存映射技术来增强性能。 使用该函数的代码如下:
代码如下所示:
<?php
回声(“数据.txt”); //读取文本文件内容并输出
echo ("c:\\文件\\.gif"); //读取二进制文件内容并输出
②函数fgets()、fgetc()
fgets() 该函数一次最多从打开的文件资源中读取一行。 函数fgets()的原型如下:
代码如下所示:
fgets(int [,int ]) //从打开的文件中返回一行
第一个参数提供使用 fopen() 函数打开的资源。 如果提供了第二个可选参数,则该函数返回 -1 个字节。 或者返回所有读取的内容,直到遇到换行符或 EOF。 如果省略可选参数,则默认为 1024 个字符。 在大多数情况下,这意味着 fgets() 函数在遇到换行符之前将读取 1024 个字符,因此每次成功调用都会返回下一行。 如果读取失败则返回 FALSE。 使用该函数的代码如下:
代码如下所示:
<?php
$ = fopen("data.txt", "r") or die("打开文件失败"); //以只读模式打开文件
while(!feof($)){
$ = fgets($,4096); //一次读取一行
回声$。”
"; //输出每一行
($);
函数 fgetc() 只读取打开的文件资源中当前指针位置的一个字符。 如果遇到文件结束标志 EOF,则返回 FALSE 值。 使用该函数的代码如下:
代码如下所示:
<?php
$fp = fopen('data.txt','r') or die("打开文件失败");
while(假!==($char = fgetc($fp))){
回显$char。”
”;
③函数文件()
这个函数非常有用,与()类似,不需要使用fopen()函数来打开文件,不同的是file()函数可以将整个文件读入数组中。 数组中的每个元素对应于文件中的相应行,每个元素之间用换行符分隔,而换行符仍然附加在每个元素的末尾。 这样就可以使用数组的相关函数来处理文件内容了。 使用该函数的代码如下:
代码如下所示:
<?php
//将文件test.txt的内容读入数组并输出
(文件(测试.txt));
④ 函数()
该函数可以读取指定的整个文件,立即输出到输出缓冲区,并返回读取的字节数。 该函数也不需要使用fopen()函数来打开文件。 在下面的示例中,可以轻松地将文件的内容输出到浏览器。 代码如下所示:
代码如下所示:
<?php
//直接读取文件data.txt中的数据并输出到浏览器
(“数据.txt”);
小编推出另一微信公众号“求职面试助手”,为您提供面试技巧、面试常见问题、面试经验等,与您分享,同学们可以长按识别二维码关注