使用PHP遍历文件目录与清除目录中文件的实现详解

前端技术 2023/09/02 PHP
今天无聊中练习了一下PHP遍历文件目录的程序,编写了以下两个程序,不过质量不是很好,轻拍~~~
1、清除PHP缓存文件
复制代码 代码如下:

<?php 

function read_dir($dir,$file) 

    $a =strpos($file,\".php\"); 

    if($a>0)  
    { 
        unlink($dir . $file); 
        echo \"delete $dir$file <br>\"; 
        return true; 
    } 

    if(strpos($file,\".\") === 0 || strpos($file,\".\") !== false ) return true; 

    if(strpos($file,\".\") === false || strpos($dir,\"/\") === false)  
    { 
        $dir = $dir . $file . \"/\"; 
        if(!is_dir($dir)) return false; 
        $dh = opendir($dir); 
        while(($file = readdir($dh)) != false) 
        { 
            read_dir($dir,$file);   //递归调用 
        } 
    } 


function clear_caches() 

    $dir = \"./temp/\";  //要清除的PHP缓存文件目录 

    if(!is_dir($dir)) die(\"It is not a dir\"); 
    $dh = opendir($dir); 

    while(($file = readdir($dh) )!=false) 
    { 
        //var_dump($file); 
        read_dir($dir,$file); 

    } 


 
?> 

 2、遍历目录中所有文件
复制代码 代码如下:

<html> 

<head> 
    <meta http-enquiv=\"Content-Type\" content=\"text/html;charset=gb2312\"> 
    <title>查看目录</title> 
</head> 

<body> 
    <table width=\"600\" align=\"center\"> 
        <tr> 
            <th width=\"50%\">文件名</th> 
            <th width=\"25%\">修改时间</th> 
            <th width=\"25%\">文件大小(k)</th> 
        </tr> 

 
    <?php 

    //$dir = \"./admin/\"; 
    $dir = \"c:/\"; 
    $up_dir = \"上级目录\"; 
    $up_url = $dir; 

    if(isset($_REQUEST[\'act\']) && $_REQUEST[\'act\']==\'list_dir\') 
    { 
        if(emptyempty($_REQUEST[\'dir\'])) 
        { 
            $up_dir=\"目录为空!\"; 
        } 
        $dir = isset($_REQUEST[\'dir\']) ? $_REQUEST[\'dir\'] : $dir; 

    } 
    if(!is_dir($dir)) 
    { 
        $up_dir=\"无效目录!\"; 
    } 

    ?> 

        <tr> 
            <td colspan=\"3\"> 
            <?php  

            if(strpos($up_dir,\"上级目录\")!==false) 
            { 
                //if($up_url==\"\") echo $up_dir; 
                if($dir != \"./admin/\") 
                { 
                 $up_url = substr($dir,0,-1); 
                 $k = strrpos($up_url,\"/\"); 
                 $up_url = substr($up_url,0,$k-strlen($up_url)); 
                 $up_url = $up_url .\"/\"; 
                } 
                 echo \"<a href=\\\"test.php?act=list_dir&dir=$up_url\\\">$up_dir</a>\"; 
            }  
            else  
            { 
                echo $up_dir; 
                die(); 
            } 
            ?> 
            </td> 
        </tr> 
    <?php  
        $up_dir = $dir; 
        $dh = opendir($dir);   
        while(($file=readdir($dh)) != false) 
        {    
            if($file != \".\" && $file != \"..\" && $file != \".svn\" ) 
            { 
                if(strpos($file,\".\") !==false) 
                { 
                    $time = date(\"Y-m-d H:i:s\", filectime($dir . $file)); 
                    $size = filesize($dir . $file)/1000; 
                    echo \"<tr><td>$file</td><td>$time</td><td>$size</td></tr>\"; 
                } 
                else 
                {    
                    $time = date(\"Y-m-d H:i:s.\", filectime($dir . $file)); 
                    $size = filesize($dir . $file)/1000; 
                    $dir = $dir . $file .\"/\"; 

                    echo \"<tr><td><a href =\\\"test.php?act=list_dir&dir=$dir\\\">$file</a></td><td>$time</td><td>$size</td></tr>\"; 
                    $dir = $up_dir; 

                } 
            } 
        } 

    ?> 

 
    </table> 

<?php die();  ?> 
</body> 

 
</html> 

本文地址:https://www.stayed.cn/item/4180

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。