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 相关文章推荐
深入了解php4(1)--回到未来
Oct 09 PHP
PHP+DBM的同学录程序(2)
Oct 09 PHP
php 无限极分类
Mar 27 PHP
关于PHP中Object对象的笔记分享
Jun 28 PHP
PHP empty函数报错解决办法
Mar 06 PHP
php对文件进行hash运算的方法
Apr 03 PHP
PHP防止刷新重复提交页面的示例代码
Nov 11 PHP
php实现图片上传并利用ImageMagick生成缩略图
Mar 14 PHP
详解Yii2高级版引入bootstrap.js的一个办法
Mar 21 PHP
ecshop添加菜单及权限分配问题
Nov 21 PHP
PDO::beginTransaction讲解
Jan 27 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 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 Header用于页面跳转要注意的几个问题总结
2008/10/03 PHP
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
在JavaScript中遭遇级联表达式陷阱
2007/03/08 Javascript
jquery下为Event handler传递动态参数的代码
2011/01/06 Javascript
常用一些Javascript判断函数
2012/08/14 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
JS读取XML文件示例代码
2013/11/15 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
jQuery代码实现实时获取时间
2017/01/29 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
2017/03/24 jQuery
3分钟快速搭建nodejs本地服务器方法运行测试html/js
2017/04/01 NodeJs
javascript 初学教程及五子棋小程序的简单实现
2017/07/04 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
vue router 配置路由的方法
2018/07/26 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
2018/09/13 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
js实现上下左右键盘控制div移动
2020/01/16 Javascript
Python中的with语句与上下文管理器学习总结
2016/06/28 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
Python 爬虫之Beautiful Soup模块使用指南
2018/07/05 Python
python dlib人脸识别代码实例
2019/04/04 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
2019/06/18 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
2019/08/08 Python
Django项目后台不挂断运行的方法
2019/08/31 Python
python创建学生成绩管理系统
2019/11/22 Python
旅游管理毕业生自荐信
2013/11/05 职场文书
2016高中社会实践心得体会范文
2016/01/14 职场文书