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 相关文章推荐
十天学会php之第九天
Oct 09 PHP
深入eAccelerator与memcached的区别详解
Jun 06 PHP
简单的php文件上传(实例)
Oct 27 PHP
php实现斐波那契数列的简单写法
Jul 19 PHP
Yii框架中memcache用法实例
Dec 03 PHP
PHP CodeIgniter框架的工作原理研究
Mar 30 PHP
php类常量用法实例分析
Jul 09 PHP
ThinkPHP表单数据智能写入create方法实例分析
Sep 27 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
Feb 08 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
May 08 PHP
浅谈PHP5.6 与 PHP7.0 区别
Oct 09 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 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
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
PHP 计算代码执行耗时的代码修正网上普遍错误
2011/05/14 PHP
phpstrom使用xdebug配置方法
2013/12/17 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
IE8 浏览器Cookie的处理
2009/01/31 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
使用jquery插件qrcode生成二维码
2015/10/22 Javascript
JavaScript获取function所有参数名的方法
2015/10/30 Javascript
JS填写银行卡号每隔4位数字加一个空格
2016/12/19 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
简单实现js拖拽效果
2017/07/25 Javascript
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
利用 JavaScript 实现并发控制的示例代码
2020/12/31 Javascript
Python列表(list)常用操作方法小结
2015/02/02 Python
python使用Image处理图片常用技巧分析
2015/06/01 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
Python批量发送post请求的实现代码
2018/05/05 Python
transform python环境快速配置方法
2018/09/27 Python
使用Python快速制作可视化报表的方法
2019/02/03 Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
2020/01/15 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
Python自动化操作实现图例绘制
2020/07/09 Python
Python Selenium库的基本使用教程
2021/01/04 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
HTML5+CSS3实现机器猫
2016/10/17 HTML / CSS
欧铁通票官方在线销售网站:Eurail.com
2017/10/14 全球购物
函授自我鉴定范文
2014/02/06 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
校长师德表现自我评价
2015/03/05 职场文书
感恩教育主题班会
2015/08/12 职场文书
《灰雀》教学反思
2016/02/19 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers