文件操作
1.只能操作服务器的文件
2.文件包含目录和文件
判断文件类型
var_dump(filetype("../0529")); 返回文件的类型:目录dir 文件file
var_dump(is_dir("../11.php")); 判断路径是不是目录
var_dump(is_file("../11.php")); 判断路径是不是文件
文件属性
echo date("Y-m-d H:i:s",fileatime("../11.php")); 上次访问时间
echo date("Y-m-d H:i:s",filectime("../11.php")); 创建时间
echo date("Y-m-d H:i:s",filemtime("../11.php")); 修改时间
echo filesize("../11.php"); 文件大小,字节为单位
var_dump(file_exists("../12.php")); 判断文件是否存在
文件路径
当前路径:./ 上级目录:../ 下级目录:目录/ 根路径:/
如果是php里面的根(/)路径代表:磁盘的根
如果是在网页里面的根(/)路径代表:服务器的根(www目录)
echo $_SERVER['DOCUMENT_ROOT']; 取服务器的根路径
echo basename("../11.php"); 从路径中获取带后缀的文件名
echo basename("../11.php",".php"); 从路径中获取不带后缀的文件名
echo dirname("../0529/aa.php"); 取路径中除去文件名的目录
var_dump(pathinfo("../0529/aa.php")); 返回目录信息,格式为数组
echo realpath("../0529/aa.php"); 将相对路径转化为绝对路径
目录操作
1.创建目录(文件夹)
mkdir("./test");
2.删除目录(文件夹)只能删除空的文件夹
rmdir("./test");
3.移动目录(文件夹)
rename("./test","../test11");
文件操作
touch("./test.txt"); 创建文件
copy("./test.txt","../test.txt"); 复制文件
unlink("./test.docx"); 删除文件
echo file_get_contents("./test.txt"); 获取文件内容:txt 页面
echo file_get_contents("http: www.baidu.com"); 远程获取内容
file_put_contents("./test.txt","hello"); 向文件写入内容
readfile("./test.txt"); 获取文件内容并且直接输出
var_dump(file("./test.txt")); 读取文件内容,返回数组,数组的每个元素对应的是一行
对文件内容进行操作
1.打开文件资源
$fp = fopen("./test.txt","a");
操作文件
echo fgetc($fp); 每次读一个字符
/*while(!feof($fp)) 判断文件是否读到末尾
{
echo fgetc($fp);
}*/
echo fgets($fp); 每次读一行
echo fgets($fp);
echo fread($fp,10); 读取特定长度
$str = "ni hao dhakhdak akdhka";
$str = iconv("utf-8","gb2312",$str);
fwrite($fp,$str);
2.关闭文件资源
fclose($fp);
获取文件夹数目和文件数
$filename=0; $dirnum=0; function Num($url) { global $filename; global $dirnum; //判断是不是文件 if(is_file($url)) { $filename=1; return $filename; break; } //获取目录下所有子文件 $attr=glob($url."/*"); //遍历 foreach ($attr as $v) { if(is_file($v)) { $filename++; } else { $dirnum++; Num($v); } } }
计算文件大小
function Dirsize() { //定义变量储存文件大小、 $size=0; //判断给的路径是不是文件 if(is_file($url)) { return filesize($url); } //如果是目录,取目录下的所有文件 $attr=glob($url,"/*"); //判断路径是不是文件 if(is_file($attr)) { return filesize($url); exit; } //如果是目录 $attr=glob($url,"/*"); //遍历 foreach ($attr as $v) { if(is_file($v)) { $size=$size+filesize($v); } else { $size=$size+Dirsize($v); } } }