读取和写入:
文件有内容
读取就是将文件中的内容读取到内存中。
写入就是将内存中的内容写入到磁盘文件中。
内存就相当于你的大脑
1、文件读取和写入
readfile:读取文件并写入到输出缓存
file:将文件读入到一个数组中(一行一个元素)
file_get_contents:将文件读入到一个字符串
file_put_contents:将一个字符串写入到文件 ,如果文件不存在,则会给你创建文件
fopen:打开文件(打开方式r/w/a/x/,+)
fclose:关闭文件
fread:读取文件
fwrite/fputs:写入文件
【注】以a模式打开,通过fseek操纵文件指针无效。只能在文件最后追加
fseek:定位文件指针(SEEK_SET/SEEK_CUR/SEEK_END)
feof:判断文件指针是否在文件结尾(end of file)
ftell:返回文件指针位置
rewind:将文件指针设为开头[fseek($fp,0)]
fgetc:读取一个字符,相当于fread($fp,1);
fgets:读取一行信息
fgetss:读取一行信息,过滤掉HTML信息
ftruncate :将文件截取到给定的长度
flock:文件锁(完成一个基于文件的计数器)
LOCK_SH:共享锁(读文件使用)
LOCK_EX:独占锁(写文件使用)
LOCK_UN:释放锁(读写完使用)
2、文件路径
pathinfo:返回文件路径的信息
basename:返回路径中的文件名部分
dirname:返回路径中的目录部分
如果是文件全路径,那么返回文件前面的路径
如果是目录全路径,那么返回目录的上一级目录路径
目录就是文件夹,文件夹(windows)就是目录(linux)
【注】文件路径格式,最后不能是一个 \ 否则报错
http_build_query:将关联数组拼接成URL参数格式
parse_url:解析URL为数组
parse_str:解析字符串为多个变量
DIRECTORY_SEPARATOR:文件分隔符
echo DIRECTORY_SEPARATOR;
/*
windows系统下路径分隔符为 \ 反斜线 同样支持正斜线
linux系统写路径分隔符为 / 正斜线
*/
str_replace(mixed, mixed, $str);
【注】第一个参数和第二个参数可以传递数组
3、文件判断
file_exists:是否存在
is_file:是否是文件
is_dir:是否是目录
is_readable:是否可读
is_writable:是否可写
is_executable:是否可执行
4、文件状态
一个01就是一个比特位 简写为1b
一个字节就是8个比特位 简写为1B
1024B = 1KB
1024KB = 1MB
1024MB = 1GB
计算机都是以字节为单位
0xff ff ff;
0-255
filesize:文件大小(单位是字节)
fstat:从文件句柄获得信息
fileatime:上次访问时间
filemtime:文件修改时间
filectime:文件创建改变时间
了解:
clearstatcache:清除文件状态缓存
chgrp:改变文件所属组
chmod:改变文件模式
chown:改变文件所有者
这些涉及到linux的文件权限问题
linux文件有三中权限 r:读 w:写 x:执行
rwx:代表你拥有的权限是可读可写可执行
三种用户:所有者、所属组、其他
rwx:111 100
修改权限使用chmod 权限 文件名
0777==》以0开头的代表是八进制 111 111 111
0755==》 111 101 101
5、文件和文件夹整体操作
临时文件 tmpfile:系统创建的缓存临时文件,在关闭文件资源的时候这个文件就被销毁掉了。
$a = 100, $b = 200;
$c = $a;
$a = $b;
$b = $c;
创建文件:
touch
fopen(w/a/x)
file_put_contents
unlink:删除文件
copy:拷贝文件
rename:重命名(移动)
mkdir:创建目录
rmdir:删除目录(只能删除空目录)
scandir:列出指定目录的所有条目
opendir:打开目录
closedir:关闭目录
readdir:从目录句柄读取一个条目