目录
-
PHP文件操作
-
文件读取
概念
在PHP中打开文件可以使用fopen()函数,打开一个文件时,我们还要指定一个文件模式,如果打开失败会返回一个false,另外注意,打开文件完成后我们需要使用fclose()函数对文件进行关闭,否则会出现进程还在占用。
语法
fopen(filename,mode)
filename:代表文件名
mode:代表文件的打开模式
常用文件模式
r:只读模式,从文件头开始读。
r+:读写模式,从文件头开始读写。
w:只写模式,从文件头开始写,如果文件已经存在,则覆盖原内容,如果文件不存在,则创建文件。
w+:读写模式,从文件头开始读写,如果文件已经存在,则覆盖原内容,如果文件不存在,则创建文件。
a:追加模式,如果文件已有内容,从文件后面追加写,如果文件不存在,则创建文件。
a+:读和追加模式,如果文件已由内容,从文件后面读或追加写,如果文件不存在,则创建文件。
x:谨慎写模式,从文件头开始写,如果文件不存在,那么文件不会被打开,函数会返回false,并产生一个警告。
x+:谨慎读写模式,读/写模式打开文件,从文件头开始读写,如果文件不存在,那么文件不会被打开,函数会返回false,并产生一个警告。
b:二进制模式。
t:文本模式,用于与其他模式结合,知识Windows下的一个选项,不推荐使用,除非你曾经的代码中使用了b选项,那么文件不会被打开。
每次读取一行数据
fgets():读取文件内容,直到遇见换行符(\n)或结束符EOF,一般用来读取文本文件。
fgetss():安全的读,读取文件内容,但会自动过滤字符串中包含PHP或HTML的标记,直到遇见换行符(\n)或结束符EOF。
fgetscsv():安全的读,可以使用分隔符如制表符(/t)或逗号(,)来对文件进行自定义的分行,返回结果是一个数组。
一次读取整个文件
readfile(filename):一次读取整个文件,会自动打开文件,并将文件内容输出到浏览器。
fpassthru($fp):需要使用fopen()函数打开文件,然后使用函数一次性读取整个文件,然后使用fclose()关闭。
file(filename):一次读取整个文件,将读取的内容发送到一个数组中。
file_get_contents(filename):一次读取整个文件,以字符串的形式返回文件内容,而不是将文件内容返回到浏览器。
其他读取
fgetc($fp):每次读取一个字符&#