PHP-文件及目录处理
2019-03-15 本文已影响0人
AGEGG
文件读取/写入操作
fopen()函数
用来打开一个文件,打开时需要指定打开模式
打开模式:r/r+、w/w+、a/a+、x/x+、b、t
读取函数
fread()
fgets()//获取一行
fgetc()//获取一个字符
关闭文件函数
fclose()
不需要fopen()打开函数
file_get_contents()
file_put_contents()
其他读取函数
file()
readfile()
访问远程文件
开启allow_url_fopen,HTTP协议连接只能使用只读,FTP协议可以使用只读或者只写
目录操作函数
名称相关
basename()、dirname()、pathinfo()
目录读取
opendir()、readdir()、closedir()、rewindir()
目录删除
rmdir()//目录为空才能删除,删除要先删文件再删目录
目录创建
mkdir()
文件大小
filesize()
目录大小(其实是磁盘大小)
disk_free_space()//磁盘剩余空间 、 disk_total_space()//磁盘总共大小
文件拷贝
copy()
删除文件
unlink()
文件类型
filetype()
重命名文件或者目录
rename()//不仅可以重命名还可以移动位置
文件截取
ftruncate()
文件属性
file_exists()、is_readable、is_writable()、is_executable()、filectime()、fileatime()、filemtime()
文件锁
flock()
文件指针
ftell()、fseek()、rewind()
EX
<?php
//问:怎么在一个文件的开头加入Hello World?
// 打开文件
//
// 将文件的内容读取出来,在开头加入Hello World
//
// 将拼接好的字符串写回到文件当中
//
// Hello 7891234567890
//
$file = './hello.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);
<?php
//问:通过PHP函数的方式对目录进行遍历,写出程序
$dir = './test';
// 打开目录
// 读取目录当中的文件
// 如果文件类型是目录,继续打开目录
// 读取子目录的文件
// 如果文件类型是文件,输出文件名称
// 关闭目录
//
function loopDir($dir)
{
$handle = opendir($dir);
while(false!==($file = readdir($handle)))
{
if ($file != '.' && $file != '..')
{
echo $file. "\n";
if (filetype($dir. '/'. $file) == 'dir')
{
loopDir($dir. '/'. $file);
}
}
}
}
loopDir($dir);