· 文件操作
读取/写入文件操作:
fopen() 打开一个文件 指定打开模式
r 只读方式打开 指针文件开头
r+ 读写方式打开 指针指向开头
w 只写方式打开 文件指针指向开头 清空文件 文件不存在会创建文件
w+ 读写方式打开 文件指针指向开头 清空文件 文件不存在会创建文件
a 写入追加模式打开 指针指向文件末尾 文件不存在会创建文件
a+ 读写追加模式打开 指针指向文件末尾 文件不存在会创建文件
x 创建并以写入的方式打开 指针指向文件开头 文件存在报错 返回false 文件不存在创建文件
x+ 创建并以读写的方式打开 指针指向文件开头 文件存在报错 返回false 文件不存在创建文件
b 打开二进制文件写入函数:
fwrite()
fputs()读取函数:
fread()
fgets()//获取一行
fgetc()//获取一个字符关闭文件:
fclose()不需要fopen的打开函数:
file_get_contents()
file_put_contents()其他的读取函数:
file() //整个文件读取到一个数组中
readfile() //读取文件 输出到缓冲区访问远程文件:
开启allow_url_fopen,HTTP协议连接只能使用读取,FTP协议可以使用只读或者只写目录相关的操作函数:
- 名称相关:
basename()
dirname()
pathinfo() 目录读取:
opendir()
readdir()
closedir()
rewinddir()目录删除:
rmdir() //目录为空才可以删除扫描二维码关注公众号,回复: 3202912 查看本文章目录创建:
mkdir()文件大小:
filesize()目录(磁盘)大小:
disk_free_space()
disk_total_sapce()文件拷贝:
copy()删除文件:
unlink()文件类型:
filetype()重命名文件或者目录:
rename()文件截取:
ftruncate()文件属性:
file_exists() //文件是否存在
is_readable() //文件是否可读
is_writable() //文件是否可写
is_executable() //文件是否可执行
filectime() //文件修改时间 文件索引节点(时间 档名 使用者 群组等)改变时间
fileatime() //文件访问时间
filemtime() //文件修改时间 文件内容修改时间文件锁:
flock()文件指针:
ftell()
fseek()
rewind()
注意:删除时候 要过滤 . ..掉 防止递归向上删除
- 名称相关:
不断在文件test.txt头部写入一行代码“hello world”,要求代码完整
//打开文件
$dir = './test.txt';
$handle = fopen($dir,'r');
//文件内容读取出来
$content = fread($handle,filesize($dir));
//写好的字符串写到文件
$content = "Hello,world!!!".PHP_EOL.$content;
fclose($handle);
$handle =fopen($dir,'w');
fwrite($handle,$content);
fclose($handle);
通过PHP函数的方式对目录进行遍历
$dir = './demo';
//打开目录
//读取目录文件
//判断如果文件类型是目录 继续打开目录
//读取子目录 的文件
//如果文件类型是文件 输出文件名称
//关闭目录
function loopDir($dir){
$handle = opendir($dir);
$t = fopen('demo.txt','a');//用追加写入模式打开一个文件 把得到的目录写入进去
//目录指针读取完毕 用这个不全等判断 防止有目录为0跳出循环体
while(false !==($file=readdir($handle))){
if($file !='.' && $file != '..'){
echo $file.PHP_EOL;
fwrite($t,$file.PHP_EOL);
if(filetype($dir.'/'.$file)=='dir'){
fwrite($t,"...".PHP_EOL);
loopDir($dir.'/'.$file);
}
}
}
fclose($t);
}
loopDir('./demo');