php中file()函数与fgets()函数的共同与不同

怪我咯
怪我咯 原创
2023-03-13 13:36:02 1025浏览

最近写php代码需从文本文件读取文本行(文本文件是ANSI字符集

php的2个内置函数 file 和 fgets 可以实现这个功能

file — 把整个文件读入一个数组

fgets — 从文件指针中读取一行

共同点:二者读取的每一个文本行末尾都包含一个换行符(读取使用ANSI字符集的文本这两个字符各占一个字节,若把文本文件转换成utf-8字符集则结果不同,未测试);

不同点:以上说的是换行符以 \n输入,若换行以\r\n输入,那么file会读入\r\n,fgets会处理掉\r保留\n,\r与\n用ord()函数显示出的ascii码值分别是13与10。

以上都使用ANSI字符集文本测试。

用fwrite()往文本文件写入时有个奇怪的现象, fopen()用‘wt’打开,写入“\r\n”后,用16进制编辑器打开文本文件会发现换行处代码为cr cr lf(\r\r\n),而用‘w’方式打开则正常“\r\n”。

以上就是php中file()函数与fgets()函数的共同与不同的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。