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


Posted in PHP onJune 24, 2013

今天无聊中练习了一下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> 

PHP 相关文章推荐
php 抽象类的简单应用
Sep 06 PHP
Smarty的配置与高级缓存技术分享
Jun 05 PHP
php 定义404页面的实现代码
Nov 19 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
Nov 04 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
Aug 23 PHP
php提高网站效率的技巧
Sep 29 PHP
刷新PHP缓冲区为你的站点加速
Oct 10 PHP
PHP类的声明与实例化及构造方法与析构方法详解
Jan 26 PHP
thinkphp分页实现效果
Oct 13 PHP
详解PHP数据压缩、加解密(pack, unpack)
Dec 17 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
浅谈php://filter的妙用
Mar 05 PHP
探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释
Jun 24 #PHP
PHP中的函数-- foreach()的用法详解
Jun 24 #PHP
解析php框架codeigniter中如何使用框架的session
Jun 24 #PHP
PHP错误提示的关闭方法详解
Jun 23 #PHP
关于更改Zend Studio/Eclipse代码风格主题的介绍
Jun 23 #PHP
关于zend studio 出现乱码问题的总结
Jun 23 #PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
Jun 23 #PHP
You might like
xml+php动态载入与分页
2006/10/09 PHP
php 生成随机验证码图片代码
2010/02/08 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
php array 转json及java 转换 json数据格式操作示例
2019/11/13 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
javascript实现倒计时并弹窗提示特效
2015/06/05 Javascript
javascript设置和获取cookie的方法实例详解
2016/01/05 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
2016/05/17 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
Vue组件创建和传值的方法
2018/08/17 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
webpack4.0+vue2.0利用批处理生成前端单页或多页应用的方法
2019/06/28 Javascript
Vuex,iView UI面包屑导航使用扩展详解
2019/11/04 Javascript
JavaScript异步操作的几种常见处理方法实例总结
2020/05/11 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
2020/11/04 Javascript
python实现统计代码行数的方法
2015/05/22 Python
Python入门必须知道的11个知识点
2018/03/21 Python
Python封装原理与实现方法详解
2018/08/28 Python
python对批量WAV音频进行等长分割的方法实现
2020/09/25 Python
利用python批量爬取百度任意类别的图片的实现方法
2020/10/07 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
英国第一职业高尔夫商店:Clickgolf.co.uk
2020/11/18 全球购物
留学推荐信中文范文三篇
2014/01/25 职场文书
党的群众路线教育实践活动心得体会
2014/03/03 职场文书
拓展策划方案
2014/06/03 职场文书
项目经理任命书
2014/06/04 职场文书
旅游文化节策划方案
2014/06/06 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
六年级小学生评语
2014/12/26 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python
Python requests用法和django后台处理详解
2022/03/19 Python
正则表达式基础与常用验证表达式
2022/06/16 Javascript