PHP目录操作 程序员文章站 2022-03-26 16:22:17 ... //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"); ?> 复制代码 PHP 相关标签: PHP目录操作 上一篇: php目录管理函数小结_PHP教程 下一篇: php telnet功能实例代码 推荐阅读 PHP安全编程之加密功能_PHP教程 PHP编码轨范2 求助关于PHP数组的问题 判断php数组是否为索引数组的实现方法_PHP教程 php null 引用计数归0问题 列举PHP的Yii 2框架的开发优势_PHP 一个目录遍历函数_PHP php操作mysql(数据库常规操作) PHP应用JSON技巧讲解_PHP BBS(php & mysql)完整版(八)_php基础