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 相关文章推荐
桌面中心(四)数据显示
Oct 09 PHP
header()函数使用说明
Nov 23 PHP
dedecms防止FCK乱格式化你的代码的修改方法
Mar 17 PHP
轻松修复Discuz!数据库
May 03 PHP
php中禁止单个IP与ip段访问的代码小结
Jul 04 PHP
利用php下载xls文件(自己动手写的)
Apr 18 PHP
PHP导出Excel实例讲解
Jan 24 PHP
详解Yii2.0 rules验证规则集合
Mar 21 PHP
PHP实现生成数据字典功能示例
May 24 PHP
laravel 修改记住我功能的cookie保存时间的方法
Oct 14 PHP
Yii 框架控制器创建使用及控制器响应操作示例
Oct 14 PHP
让你的PHP,APACHE,NGINX支持大文件上传
Mar 09 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中处理模拟rewrite 效果
2006/12/09 PHP
PHP时间戳与日期之间转换的实例介绍
2013/04/19 PHP
分享3个php获取日历的函数
2015/09/25 PHP
PHP 中使用explode()函数切割字符串为数组的示例
2017/05/06 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
PHP树形结构tree类用法示例
2019/02/01 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
2020/05/01 PHP
如何让动态插入的javascript脚本代码跑起来。
2007/01/09 Javascript
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
JS和JQ的event对象区别分析
2014/11/24 Javascript
10条建议帮助你创建更好的jQuery插件
2015/05/18 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
2016/12/08 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
2017/02/15 Javascript
JavaScript的六种继承方式(推荐)
2017/06/26 Javascript
JavaScript闭包和回调详解
2017/08/09 Javascript
react高阶组件添加和删除props
2019/04/26 Javascript
详解mpvue实现对苹果X安全区域的适配
2019/07/31 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
Python发送邮件封装实现过程详解
2020/05/09 Python
python numpy实现rolling滚动案例
2020/06/08 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
IRO美国官网:法国服装品牌
2018/03/06 全球购物
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
优良学风班总结材料
2014/02/08 职场文书
作文评语集锦大全
2014/04/23 职场文书
民族团结先进集体事迹材料
2014/05/22 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
公证书
2019/04/17 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
阿里云服务器Ubuntu 20.04上安装Odoo 15
2022/05/20 Servers