文件内容基本函数
操作流程:
打开文件、读写内容、关闭文件
打开文件
fopen($filename, mode)
返回一个handler(句柄)。
mode
'r' : 只读,文件指针指向文件头
'r+': 读写,文件指针指向文件头
'w' : 写入,文件指针指向文件头,并且把文件清空
不存在,则创建
'w+': 读写,其余和w相同
'a' : 写入,文件指针指向文件末尾;
不存在,则创建
'a+': 读写,文件指针指向文件末尾;
不存在,则创建
'x; : 创建并写入,文件指针指向文件头
如果已存在,返回false
'x+': 读写,其余和x相同
注意,如果读取的是二进制文件,最后加上关键字 b,如rb
。
读取文件
fread($handle, $length)
$length单位是字节。
指针相关
ftell($handle) 获取指针位置
fseek($handle,$pos) 指定指针位置
rewind($handle) 重置指针在开头
feof($handle) 检测指针是否在末尾
写入
fwrite($handle,$string[,$length])
fputs($handle,$string[,$length])
注意:
如果之前有内容,会被覆盖!!!
截取文件
ftruncate($handle, $length)
文件原本可能是10字节的,现在它将会被截取为$length个字节。
读取文件
fgetc($handle) 从文件中读取一个字符
fgets($handle) 从文件中读取一行字符
fgetss($handle) 从文件中读取一行字符,
且过滤html标签不起作用
关闭句柄
fclose($handle)
整合函数
读取文件
file_get_contents($filename)
读取文件内容,返回一个字符串
写入文件
file_put_contents($filename,$content)
注意:
写入文件内容,之前的内容会清空;
$content是字符串、数组(只把value取出);
如果要追加,需要将get_contents拿到的内容做拼接
写入数组
1. 序列化
先序列化,再传入;输出时反序列化。
serialize() 序列化
unserialize() 反序列化
json
json格式存储数组,然后输出时json_decode()处理