- //basename()
- 返回路径中的文件名部分
- $path="D:/lamp/apache2/htdocs/file.php";
- echo basename($path)."
"; - //显示带有文件扩展名的文件名
- echo basename($path,'php')."
"; - //显示不带文件扩展名的文件名
- //dirname()
- 去掉文件名,返回目录名
- echo dirname($path)."
"; - //返回目录名
- //pathinfo()
- 返回一个关于路径属性的数组
- print_r(pathinfo($path))."
"; - //opendir()
- 打开指定的目录
- //readdir()
- 读取指定的目录
- //closedir()
- 关闭指定的目录
- //rewinddir()
- 倒回目录句柄
- /*
- *下面的代码来统计一个目录下的文件
- */
- $num=0;
- //用来统计子目录和文件的总个数
- $dirname="pm3";
- //定义一个目录,即需要遍历的目录
- $dir_handle=opendir($dirname);
- //打开目录
- //将遍历的内容和文件名使用表格格式输出
- echo "
";- echo "
目录".$dirname."下的内容"; - echo "
";- echo "
| 文件名 | 文件大小 | 文件类型 | 修改时间 | "; - while($file=readdir($dir_handle)){
- //循环读取目录里的内容,知道最后
- $dirFile=$dirname."/".$file;
- //使用目录名和文件名链接起来,这样在下面的filetype当中才能使用
- if($num++%2==0){
- //通过单复数来实现隔行变色
- $bgcolor="#ffffff";
- }else{
- $bgcolor="#cccccc";
- }
- echo "
";- echo "
| ".$file." | "; - //输出文件名
- echo "
| ".filesize($dirFile)." | "; - //输出文件大小
- echo "
| ".filetype($dirFile)." | "; - //输出文件类型
- echo "
| ".filemtime($dirFile)." | "; - //输出文件的修改时间
- echo "
"; - }
- echo "
"; - closedir($dir_handle);
- echo "在目录".$dirname."下共有".$num."个文件
"; - //disk_free_space()
- disk_total_space() 统计磁盘大小
- /*
- *自定义一个递归函数,统计传入目录文件的大小
- */
- function dirSize($directory){
- $dir_size=0;
- //定义一个整形的变量,用来累加每个文件的大小从而计算目录的大小
- if($dir_handle=opendir($directory)){
- //打开目录
- while($fileName=readdir($dir_handle)){
- //循环读取目录中的文件
- if($fileName!="." && $fileName!=".."){
- //一定要排除掉两个特殊的目录
- $subFile=$directory."/".$fileName;
- //将文件名和目录名连接
- if(is_dir($subFile)){
- //判断子文件是否是目录
- $dir_size+=dirSize($subFile);
- //如果是目录,继续向下循环
- }
- if(is_file($subFile)){
- //判断是否是普通文件
- $dir_size+=filesize($subFile);
- //获取文件的大小,并和前面的文件大小累加
- }
- }
- }
- }
- closedir($dir_handle);
- //关闭目录的句柄
- return $dir_size;
- }
- $dir_size=dirSize("pm3");
- echo "目录pm3的大小是:".round($dir_size/pow(1024,2),2)."MB";
- //输出目录的大小
- /*
- *自定义一个删除目录的递归函数
- */
- //unlink()
- 将目录中的文件删除掉
- function delDir($directory){
- if(file_exists($directory)){
- //判断目录是否存在
- if($dir_handle=opendir($directory)){
- //打开目录
- while($fileName=readdir($dir_handle)){
- //循环读取目录下的文件
- if($fileName!="." && $fileName!=".."){
- //一定要排除两个特殊文件,否则你会后悔的
- $subFile=$directory."/".$fileName;
- //把文件名和目录名连接起来
- if(is_dir($subFile)){
- //如果是目录,继续执行本身
- delDir($subFile);
- }
- if(is_file($subFile)){
- //如果是普通文件,直接删除
- unlink($subFile);
- }
- }
- }
- closedir($dir_handle);
- //关闭句柄
- rmdir($directory);
- //运行到这的已经是空目录了,直接删除
- }
- }
- }
- //delDir("pm4");
- /*
- *自定义一个复制或移动目录的递归函数
- */
- //copy()
- 复制一个普通的文件
- //mkdir()
- 创建一个目录
- function copyDir($directory,$dirTo){
- //两个参数,一个是源目录,一个是目标目录
- if(is_file($dirTo)){
- //判断如果目标是一个普通文件,则直接退出方法
- echo "目标不是一个目录,无法完成复制";
- return;
- }
- if(!file_exists($dirTo)){
- //判断如果目录不存在,则创建该目录
- mkdir($dirTo);
- }
- if($dir_handle=opendir($directory)){
- while($fileName=readdir($dir_handle)){
- if($fileName!="." && $fileName!=".."){
- $subFile=$directory."/".$fileName;
- $subToFile=$dirTo."/".$fileName;
- if(is_dir($subFile)){
- copyDir($subFile,$subToFile);
- }
- if(is_file($subFile)){
- copy($subFile,$subToFile);
- }
- }
- }
- closedir($dir_handle);
- }
- }
- copyDir("pm3","pm4");
- ?>
|