在上一篇PHP教程中,我介绍了在文件读写操作中如何使用PHP实现文件写入功能。 接下来给大家分享一下PHP文件读取功能的应用示例。
PHP文件读操作比文件写操作涉及更多的PHP文件操作函数。 该功能将在代码示例中详细介绍。
读取文本文件中存储的数据的方法主要涉及三个步骤和一些文件操作函数如下:
1、打开文件(文件操作函数:fopen)
2、文件数据读取(文件操作函数:fgets、file、readfile、feof等)
3.关闭文件(文件操作函数:fclose)
下面以PHP文件读写操作代码为例php分割文本,讲解文件读取方法的具体应用。 示例中,通过调用不同的PHP文件读取操作函数来读取文本文件中的数据,可以加深PHP文件读取操作功能。 理解以便在PHP网站开发中合理应用。 文本文件写入的数据来自PHP文件读写操作的文件写入教程。 fopen函数中的文件读写方式也可以参考这篇文章。
PHP文件读取操作代码示例
$readFun = "恐惧";
开关($readFun)
案例“fgetss”:
@$fp = fopen("leapsoulcn.txt","r") 或 die("系统错误");
$allowable_tags = "
”;
while (!feof($fp)) {
$output = fgetss($fp,100,$allowable_tags);
回显$输出;
fclose($fp);
休息;
案例“fgetcsv”:
@$fp = fopen("leapsoulcn.txt","r") 或 die("系统错误");
while (!feof($fp)) {
$输出 = fgetcsv($fp,100,"t");
print_r($输出);
fclose($fp);
休息;
案例“读取文件”:
echo readfile("leapsoulcn.txt");
休息;
案例“fpassthru”:
@$fp = fopen("leapsoulcn.txt","r") 或 die("系统错误");
if(!fpassthru($fp))
出口();
fclose($fp);
休息;
案例“文件”:
$output = file("leapsoulcn.txt");
print_r($输出);
休息;
案例“fgetc”:
@$fp = fopen("leapsoulcn.txt","r") 或 die("系统错误");
while (!feof($fp)) {
$str = fgetc($fp);
echo ($str == "n"?"
“:$str);
fclose($fp);
休息;
案例“恐惧”:
@$fp = fopen("leapsoulcn.txt","r") 或 die("系统错误");
回声 fread($fp,300);
fclose($fp);
休息;
默认:
@$fp = fopen("leapsoulcn.txt","r") 或 die("系统错误");
while (!feof($fp)) {
$输出= fgets($fp,100);
回显$输出;
fclose($fp);
休息;
注意:在上面的例子中,你可以通过给$readFun赋值来调用不同的PHP文件读取方法。 涉及到的PHP文件读取操作函数有fgets、fgetss、fgetcsv、readfile、fpassthru、file、fgetc等函数。
PHP文件读取操作函数fgets、fgetss、fgetcsv的区别
代码示例中,默认的PHP文件读取操作函数是fgets。 fgetss和fgetcsv函数的功能与fgets相同,都是一次读取文件一行,直到文件末尾。 这里我将文本文件中要读取的数据宽度设置为100,即最大读取宽度为99(100-1)。 这样,当遇到换行符n或文件结束符EOF或从文件中读取99时,有字节时停止读取数据。 fgets 函数以字符串类型返回从文件中读取的数据。
fgetss 函数是 fgets 函数的变体。 它还可以通过传递第三个参数来剥离PHP和HTML标签并过滤掉不必要的数据,这可以增强网站的安全性。 例如,可以在留言簿中过滤用户的输入数据。 fgetss函数原型如下:
string fgetss(资源 fp,int 长度, string[可选] allowed_tags)
allowed_tags 参数是可选的。 例子中我提前在leapsoulcn.txt文件中写了一行包含html、body、h1标签的文本,然后在代码中我设置了只可以出现h1标签。
fgetcsv 函数是 fgets 的另一个变体。 不同之处在于,当文本文件中写入的数据使用分隔符时,可以使用 fgetcsv 将一行分解为多行。 返回的结果存储在一个链表中。 函数原型如下
array fgetcsv(资源 fp,int 长度,字符串[可选]分隔符,字符串[可选]附件)
分隔符是可选的。 由于之前写入文件的数据中使用了t,所以示例中的文件读取函数fgetcsv中使用了t作为分隔符,然后通过print_r复制了fgetcsv返回的链表。 结构。
三个PHP文件读取操作函数fgets、fgetss、fgetcsv的共同点是都需要使用fopen函数提前打开读取的文件。 同时使用feof函数判断文件指针是否到达文件末尾。 记得在读操作完成后使用fclose。 函数来关闭文件。
fgetc:读取单个字符
fgetc函数用于读取字符。 在代码示例中php分割文本,我将字符一一读取。 当遇到n字符时,将其转换为html文件中的br标签,以便在浏览器中显示特定的换行效果。 当然这个功能的效率肯定是比较低的,不建议使用。
PHP文件读取操作函数readfile、fpassthru、file的区别
这三个函数的共同点是可以一次读取整个文件,而不是一次读取一行或一个字符。 不同之处在于:
readfile函数打开文件,返回文件内容并直接输出到浏览器上。 与fopen函数一样,函数返回值是文件中的字符总数。 readfile函数的第二个参数是可选的,指示PHP是否应该在include_path中搜索文件。 。 代码示例中,我使用echo语句不是输出读取的文件内容,而是输出读取的文件字符总数。 readfile函数读取的文件内容已经手动输出了,这个一定要清楚! readfile函数的原型如下:
int readfile(字符串文件名, int[可选] use_include_path)
文件函数是另一种读取文件的方法。 它将读取的文件内容发送到一个链表中,每行一个链表单元。 文件函数的原型如下:
数组文件(字符串文件名,bool[可选] use_include_path)
fpassthru()函数用于输出文件指针处剩余的所有数据,即如果文件指针不在开头,则只输出文件指针旁边的数据。 该函数从当前位置读取给定的文件指针到EOF,并将结果发送到输出缓冲区,返回值为输出字符数。 出错时返回 FALSE。 与readfile()函数相比,fpassthru()函数需要先打开文件,读取数据后关闭文件。
fread 和 file_exists、文件大小函数
fread函数也是一种读取文件的方式,它可以从文件中读取任意字节,要么满足长度,要么读到文件末尾。 读取函数的原型如下:
字符串 fread(资源 fp,int 长度)
使用fread函数时,当想要读取文件的全部数据但不知道文件数据的宽度时,filesize函数可以解决这个问题,即
@$fp = fopen("leapsoulcn.txt","r") 或 die("系统错误");
echo fread($fp,filesize("leapsoulcn.txt"));
fclose($fp);
在PHP文件读写操作教程中,我们没有使用过file_exists函数。 通常在PHP网站开发中,出于各种考虑,有时当文件不存在时,我们不喜欢创建新文件。 这时我们需要在使用fopen函数之前先使用file_exists函数判断文件是否存在,即
if(file_exists("leapsoulcn.txt"))
//执行PHP文件读写操作
以上就是PHP文件读写操作教程中对文件读取操作的各种方法的介绍。 通过合理应用PHP文件读写操作功能,可以实现简单的留言簿、网站日志记录等功能。