<?php
//文件:文件和文件夹(目录)
//var_dump(filetype("./test"));//判断文件类型,如果是文件返回file,若果是目录,返回dir
//var_dump(is_dir("test"));//判断给定的路径是不是目录
//is_file("aa.txt");//判断给定的路径是不是文件
//echo date("Y-m-d H:i:s",fileatime("./aa.txt"));//获取文件的上次访问时间
//echo date("Y-m-d H:i:s",filectime("./aa.txt"));//获取文件的创建时间
//echo date("Y-m-d H:i:s",filemtime("./aa.txt"));//获取文件的修改时间
//echo(filesize("./aa.txt"));//获取文件大小
//echo(file_exists("./aa.txt"));//判断文件是否存在
//文件路径:
//1.当前路径 ./ 或者不写
//2.上级目录 ../
//3.下级目录 文件夹名/
//4.根目录 /
//根目录 :/
//根目录/ 有两层意思:如果/是在php程序里面的话代表:硬盘根目录, 如果/是在网页里面的话代表:代表服务器的根目录
//做文件上传(头像,产品图片),保存在数据库的路径一定要写绝对路径
//echo $_SERVER['DOCUMENT_ROOT'];//取服务器(www)的根目录
//echo basename("aa.txt");//从路径中获取文件名
//echo basename("aa.txt",".txt");//返回没有后缀的文件名
//dirname("");//返回路径中的目录
//var_dump (pathinfo("./test/bb.txt"));//返回文件信息
//echo (realpath("./test/bb.txt"));//将相对路径转为绝对路径
//目录操作:
//var_dump(glob("./test/*"));//返回目录下所有的文件,可以根据后缀来筛选
php>
<?php
//目录操作
//mkdir("./aa");//创建目录
//rmdir("./test");//删除目录,只能删除空文件夹
//rename("./test","aa/test");//重命名、移动文件夹
//文件操作
//touch("aa.png");//创建文件
//copy("aa.txt","../aa.txt");//复制文件
//unlink("aa.png");//删除文件
//echo file_get_contents("aa.txt");//读取文件内容
//echo file_get_contents("http://www.baidu.com");#可以读取远程文件
#file_put_contents("aa.txt","hello world");#向文件内写入内容
//php读取 写入 excel world文档 网搜!
//readfile("aa.txt");#读取文件内容并显示。
#var_dump(file("aa.txt"));#读取文件内容并返回数组,数组里面存的是每一行。
#对内容的具体操作
#打开和关闭资源
//$fp = fopen("aa.txt","a");
#fwrite($fp,"test");//写入内容 w方式会覆盖
//fwrite($fp,"aaaaaaaa");#a方式,会追加
/*echo fgetc($fp);//
echo fgets($fp);
echo fgets($fp);
echo fgets($fp);*/
//fclose($fp);
?>
<?PHP
#循环遍历目录中所有的文件,并统计目录和文件的大小
$dirName="./test";
$dir=opendir($dirName); #返回一个资源类型
while($fileName=readdir($dir)){
$file=$dirName."/".$fileName;
if($fileName!="." && $fileName!=".."){
if(is_dir($file)){
echo "<font color='red'>".$fileName."===".date("Y-m-d H:i:s",filectime($file))."==".filetype($file)."==".toSize(dirSize($file))."</font><br/>";
}
else{
echo "<font color='green'>".$fileName."=====".date("Y-m-d H:i:s",filectime($file))."====".filetype($file)."====".toSize(filesize($file))."</font><br/>";
}
}
}
closedir($dir);
#把文件或目录的大小转化为容易读的方式
function toSize($size){
$dw; #指定文件或目录统计的单位方式
if($size>pow(2,30)){
$dw="GB";
$size=round($size/pow(2,30),2);
}
else if($size>pow(2,20)){
$dw="MB";
$size=round($size/pow(2,20),2);
}
else if($size>pow(2,10)){
$dw="KB";
$size=round($size/pow(2,10),2);
}
else
{
$dw="bytes";
}
return $size.$dw;
}
#利用递归的方式统计目录的大小
function dirSize($dirName){
$dirsize=0;
$dir=opendir($dirName);
while($fileName=readdir($dir)){
$file=$dirName."/".$fileName;
if($fileName!="." && $fileName!=".."){ //一定要进行判断,否则会出现错误的
if(is_dir($file)){
$dirsize+=dirSize($file);
}
else{
$dirsize+=filesize($file);
}
}
}
closedir($dir);
return $dirsize;
}
?>