文件操作
PHP也提供了一套文件操作系统函数。通过这套函数进行文件管理,创建文件、删除、改名、存储数据,读取数据。
文件的理解:在文件管理系统文件分为两种
其一就是文件,用于存储数据
其二是文件夹,用于存储文件的文件
1. 文件相关信息
函数 | 说明 | 备注 |
---|---|---|
file_exists(filename); | 用于判断一个文件是否存在 | filename是一个表示文件的完整名的一个字符串 |
filemtime($filename); | 用于获取文件修改的时间 | 获得时间戳,用date()转换为具体时间 |
filesize($filename); | 用于获取文件的大小 | 单位为字节 |
basename(path); | 用于获取文件名 | |
realpath(path); | 用于判断path是否是真实存在的一个路径 | 如果不是返回的是布尔false。如果是那么会将‘/’转换为‘\’,并将相对路径转换为绝对路径 |
2. 打开文件fopen()
fopen(filename,code); | 用于打开一个文件,用于之后的对文件内容的读写操作 |
---|---|
filename | 是一个表示文件的完整名的一个字符串 |
mode | 表示打开的方式 |
mode取值 | 打开文件方式 | 说明 |
---|---|---|
r | 读 | 文件不存在则报错 |
r+ | 读写 | 文件不存在则报错 |
w | 写 | 文件不存在则创建文件,如果文件存在则清空文件 |
w+ | 读写 | 文件不存在则创建文件,如果文件存在则清空文件 |
a | 追加 | 文件不存在则创建文件,如果文件存在并不会清空文件 |
a+ | 追加及读 | 文件不存在则创建文件,如果文件存在并不会清空文件 |
如果以r、r+打开的文件,那么文件指针位于头部
如果以a、a+打开的文件,那么文件指针位于尾部
如果打开成功返回的是一个资源类型:
$filename="./data.txt";
$return=fopen($filename,'r');
var_dump($return);//返回:resource(3, stream)
3. 关闭文件
fclose(handle);
handle是fopen()函数返回的资源
用于判断handle所指向的文件
$filename="./data.txt";
$return=fopen($filename,'r');
fclose($return);
var_dump($return);//返回resource(3, Unknown)
4. 写入文件fwrite()
fwrite(handle,data) | - |
---|---|
handle | fopen()函数返回的资源 |
data | 所要写的数据 如果写入成功则返回写入字节数 如果写入失败则返回0 |
file_put_contents(filename,data);
用于向文件中写入数据,特点是文件不需要打开,如果文件存在则清空文件内容
5. 读取文件内容
函数 | 说明 |
---|---|
fgetc(handle); | 每次从handle所代表的文件中读取一个字符,文件的指针会下移一行 |
fgets(handle,len); | len表示读取的字节个数-1,默认是1024 当遇到换行回车时就结束读取 |
fread(handle,len); | len表示读取的字节个数,不可以省略 当遇到换行回车时,不受影响 |
file(filename); | 将文件中的每一行读取的一个元素,并返还整个数组 |
readfile(filename); | filename用于表示文件的字符串 将读取到的内容自动放到输出缓存(直接输出,不需要echo) |
file_get_contents(filename); | 一次性将所有文件读取出来 |
file()示例:
6. 拷贝文件
copy(source,dest); | 用于复制一个文件,复制文件时可以改名 |
---|---|
source | 源文件 |
dest | 目录文件 |
7. 删除文件
unlink(filename); | 用于删除文件 |
---|