文件操作
操作内容
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"); //将相对路径转化为绝对路径 //操作目录 //var_dump(glob("../tp/*.php")); //获取目录下所有的文件* 某个后缀的*.php $attr = glob("../tp/*"); for($i=0;$i<count($attr);$i++) { echo $attr[$i]."<br>"; }
遍历读取所有文件和文件夹数量
//定义两个变量 $filenum = 0; $dirnum = 0; Num("../shangchuan"); echo "文件的数量为:".$filenum."<br>"; echo "文件夹的数量为:".$dirnum; function Num($url) { global $filenum; global $dirnum; //判断给的路径是不是文件 if(is_file($url)) { $filenum = 1; return $filenum; exit; } //获取目录下所有的子文件 $attr = glob($url."/*"); //遍历所有的子文件 foreach($attr as $v) { if(is_file($v)) { $filenum++; } else { $dirnum++; Num($v); } } }
计算所有文件数量
echo Num("../tp"); function Num($url) { $filenum = 0; //判断给的路径是不是文件 if(is_file($url)) { $filenum = 1; return $filenum; exit; } //获取目录下所有的子文件 $attr = glob($url."/*"); //遍历所有的子文件 foreach($attr as $v) { if(is_file($v)) { $filenum++; } else { $filenum = $filenum + Num($v); } } return $filenum; }
计算文件夹大小
echo DirSize("../fenye"); function DirSize($url) { //定义变量存储文件大小 $size = 0; //判断给的路径是不是文件 if(is_file($url)) { return filesize($url); exit; } //如果是目录,取目录下的所有文件 $attr = glob($url."/*"); //遍历子文件 foreach($attr as $v) { if(is_file($v)) { $size = $size + filesize($v); } else { $size = $size + DirSize($v); } } return $size; }
使用目录资源遍历
$dir = opendir("../tp"); //打开目录资源 //echo readdir($dir); //读取目录下的文件,执行一次读一个 while($wj = readdir($dir)) { echo $wj."<br>"; } closedir($dir); //关闭目录资源 //rewinddir($dir);//将指针重置 //使用readdir()读取的第一个和第二个内容 //第一个是. 代表当前目录 //第二个是.. 代表上级目录 //在使用目录资源遍历文件夹的时候要注意将前两个排除