php目录操作实例代码


Posted in PHP onFebruary 21, 2014
<?php 
    /**
    * listdir
    */
    header("content-type:text/html;charset=utf-8");
    $dirname = "./final/factapplication";
    function listdir($dirname) {
        $ds = opendir($dirname);
        while (false !== ($file = readdir($ds))) {
            $path = $dirname.'/'.$file;
            if ($file != '.' && $file != '..') {
                if (is_dir($path)) {
                    listdir($path);
                } else {
                    echo $file."<br>";
                }
            }
        }
        closedir($ds);
    }
    listdir($dirname);

核心:递归的经典应用,以及文件和目录的基本操作。

<?php
    /**
    * copydir
    */
    $srcdir = "../fileupload";
    $dstdir = "b";
    function copydir($srcdir, $dstdir) {
        mkdir($dstdir);
        $ds = opendir($srcdir);
        while (false !== ($file = readdir($ds))) {
            $path = $srcdir."/".$file;
            $dstpath = $dstdir."/".$file;
            if ($file != "." && $file != "..") {
                if (is_dir($path)) {
                    copydir($path, $dstpath);
                } else {
                    copy($path, $dstpath);
                }
            }
        }
        closedir($ds);
    }
    copydir($srcdir, $dstdir);

核心:copy函数。

<?php
    /**
    * deldir
    */
    $dirname = 'a';
    function deldir($dirname) {
        $ds = opendir($dirname);
        while (false !== ($file = readdir($ds))) {
            $path = $dirname.'/'.$file;
            if($file != '.' && $file != '..') {
                if (is_dir($path)) {
                    deldir($path);
                } else {
                    unlink($path);
                }
            }
        }
        closedir($ds);
        return rmdir($dirname);
    }
    deldir($dirname);

核心:注意unlink删除的是带path的file。

<?php
    /**
    * dirsize
    */
    $dirname = "a";
    function dirsize($dirname) {
        static $tot;
        $ds = opendir($dirname);
        while (false !== ($file = readdir($ds))) {
            $path = $dirname.'/'.$file;
            if ($file != '.' && $file != '..') {
                if(is_dir($path)) {
                    dirsize($path);
                } else {
                    $tot = $tot + filesize($path);
                }
            }
        }
        return $tot;
        closedir($ds);
    }
    echo dirsize($dirname);

核心:通过判断$tot在哪里返回,理解递归函数。
PHP 相关文章推荐
php5 and xml示例
Nov 22 PHP
php完全过滤HTML,JS,CSS等标签
Jan 16 PHP
那些年一起学习的PHP(一)
Mar 21 PHP
php实现检查文章是否被百度收录
Jan 27 PHP
php短网址和数字之间相互转换的方法
Mar 13 PHP
php通过分类列表产生分类树数组的方法
Apr 20 PHP
php使用timthumb生成缩略图的方法
Jan 22 PHP
降低PHP Redis内存占用
Mar 23 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
PHP的重载使用魔术方法代码实例详解
Feb 26 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 PHP
php无限遍历目录示例
Feb 21 #PHP
php自动加载autoload机制示例分享
Feb 20 #PHP
php多文件上传下载示例分享
Feb 20 #PHP
php分页代码学习示例分享
Feb 20 #PHP
php多文件上传实现代码
Feb 20 #PHP
php图片缩放实现方法
Feb 20 #PHP
php跨域cookie共享使用方法
Feb 20 #PHP
You might like
解析php中var_dump,var_export,print_r三个函数的区别
2013/06/21 PHP
php计算一个文件大小的方法
2015/03/30 PHP
PHP 常用的header头部定义汇总
2015/06/19 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
2019/10/17 PHP
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
js 中将多个逗号替换为一个逗号的代码
2014/06/07 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
React Router基础使用
2017/01/17 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
vue 移动端注入骨架屏的配置方法
2019/06/25 Javascript
你准备好迎接vue3.0了吗
2020/04/28 Javascript
[46:14]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第一场 12.11
2020/12/16 DOTA
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
实例说明Python中比较运算符的使用
2015/05/13 Python
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
Python利用正则表达式匹配并截取指定子串及去重的方法
2015/07/30 Python
Python实现Youku视频批量下载功能
2017/03/14 Python
如何在Django中设置定时任务的方法示例
2019/01/18 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
在PyCharm中安装PaddlePaddle的方法
2021/02/05 Python
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
会计专业应届生自荐信
2014/02/07 职场文书
高考备战决心书
2014/03/11 职场文书
业务员自荐信范文
2014/04/20 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
十大最帅动漫男主 碓冰拓海上榜,第一是《灌篮高手》男主角
2022/03/18 日漫
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android
Win10本地连接不见了怎么恢复? win10系统电脑本地连接不见了解决方法
2023/01/09 数码科技