【知识点】php文件相关函数

fopen()-用来打开一个文件,打开的时候需要指定打开的模式
打开的模式包括:
r/r+ (只读/读写 都指向开头)
w/w+ (只写/读写 清空内容,如果文件不存在的时候会帮你创建)
a/a+ (追加写入/读写追加,指针指向末尾,如果文件不存在也会创建)
x/x+ (以写入的方式打开,并将指针指向开头,文件存在的时候会报错)
b 打开一个二进制文件
t windows才有

写入函数
fwrite()

fputs()

读取函数
fread()
fgets()
fgetc()

关闭文件函数
fclose()

不需要fopen函数打开的函数:
file_get_contents()
file_put_contents()

其他的读取函数
file() 将整个文件读取到一个数组中去
readfile() 内容读取出来并输出到一个缓冲区

访问远程文件
php.ini中需要开启allow_url_fopen,http协议只能只读,ftp协议可以只读或者只写

目录操作-名称相关
basename()\dirname()\pathinfo()
目录操作-目录读取
opendir()\readdir()\closedir()\rewinddir()
目录操作-目录删除
rmdir() 必须要是空目录才能删除
目录操作-目录创建
mkdir()

文件大小
filesize()

目录大小:
disk_free_space() 磁盘剩余空间
disk_total_space() 磁盘总共空间

文件拷贝:
copy()

删除文件
unlink()

文件类型
filetype()

重命名文件或者目录
rename()可以移动文件的位置

文件截取
ftruncate()

文件属性:
file_exists() 判断文件是否存在
is_readable() 是否可读
is_writable() 是否可写
is_executable()是否可执行
filectime() iNode的修改时间
fileatime() 访问的时间
filemtime() 整个的修改时间

文件锁
flock()

文件指针
ftell()
fseek()
rewind()

实例:在文件开头加入hello world
[code]
$file = "test.txt"
$handle = fopen($file,’r’);
$content = fread($handle,filesize($file));
$content="hello world".$content;
fclose($handle);
$handle = fopen($file,’w’);
fwrite($handle,$content);
fclose($handle);
[/code]
实例:遍历目录下的所有文件
[code]
function loopdir($dir){
$handle = opendir($dir);
while(($file = readdir($handle))!==false){
if($file!="." && $file!=".."){
echo $file.'<br/>';
if(filetype($dir.’/’.$file) == "dir"){
loopdir($dir.’/’.$file);
}
}
}
}
[/code]