php 目录操作

1.打开文件:

opendir("文件名称");

2.读取文件:
readdir("文件名称");

<?php
    $dirname="phpMyAdmin";
    /*判断文件是否存在*/
    if(file_exists($dirname)){
        if(is_dir($dirname)){
            $dir=opendir($dirname);
            while($filename=readdir($dir)){
                $file=$dirname."/".$filename;
                if($filename!='.' && $filename!='..'){
                    if(is_dir($file)){
                        echo "<strong style='color:red'>".$filename.".......".GetFileSize(filesize($file))."..........".date("Y-m-d H:i:s",filectime($file))."......".filetype($file)."...............".GetFileSize(dirsize($file)).".......</strong><br>";
                    }else{
                        echo $filename."......".GetFileSize(filesize($file)).".......".date("Y-m-d H:i:s",filectime($file)).".....".filetype($file)."............................<br>";
                    }
                }
            }
        }else{
            echo "不是目录";
            exit();
        }
    }else{
        echo "文件不存在";
        exit();
    }
    closedir($dir);
  function GetFileSize($size){
        $dw="Byte";
        if($size >= pow(2,40)){
            $size=round($size/pow(2,40),2);
            $dw="TB";
        }else if($size >= pow(2,30)){
            $size=round($size/pow(2,30),2);
            $dw="GB";
        }else if($size >= pow(2,20)){
            $size=round($size/pow(2,20),2);
            $dw="MB";
        }else if($size >=pow(2,10)){
            $size=round($size/pow(2,10),2);
            $dw="KB";
        }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;
    }
    //打开文件
    //获取打开文件
    //判断打开的文件
    //去掉. ..
    //判断是不是dir文件夹
  //如果是则进去取出文件大下,递归进行判断;

?>

3.删除文件

//判断文件是否存在
//文件是不是目录
//打开文件
//读取文件
//过滤文件
//如果是文件夹则打开,如果是文件则删除
    $dirname="phpMyAdmin";
rmdirdir($dirname);
    function rmdirdir($dirname){
        if(file_exists($dirname)){
            if(is_dir($dirname)){
                $dir=opendir($dirname);
                while($filename=readdir($dir)){
                    $file=$dirname."/".$filename;
                    if($filename!='.' && $filename!='..'){
                        if(is_dir($file)){
                            rmdirdir($file);
                        }else{
                            unlink($file);
                        }
                    }
                }
            }else{
                echo "不是文件";
                exit();
            }
        }
        else{
                    echo "文件不存在";
                    exit();
                }
        rmdir($dirname);
        closedir($dir);
    }

4.剪切,重命名

rename("目标","原路径")

5.复制文件

    $dirname="phpMyAdmin";
    $dirtoname="Hello";
    copydir($dirtoname,$dirname);
    function copydir($dirtoname,$dirname){
        //判断是不是文件
        if(is_file($dirtoname)){
            echo "目标不是目录不能创建";
            return;
        }
        //创建文件
        if(!file_exists($dirtoname)){
            mkdir($dirtoname);
            echo "创建文件夹".$dirtoname;
        }
        //打开文件
        
        $dir=opendir($dirname);
    
        //读取文件
        while($filename=readdir($dir)){
                
            //过滤文件
            if($filename!='.' && $filename!='..'){
                //打开之后过滤的文件加上原路径
                
                $file1=$dirname."/".$filename;
                $file2=$dirtoname."/".$filename;
                echo $file2."<br>";

                //判断文件是不是文件夹
                if(is_dir($file1)){
                    copydir($file2,$file1);
                    
                }else{
                    copy($file1,$file2);
                }
            }

            
        }
        closedir($dir);
    }
原文地址:https://www.cnblogs.com/subtract/p/3857559.html