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 trim 去除空字符的定义与语法介绍
May 31 PHP
PHP中break及continue两个流程控制指令区别分析
Apr 18 PHP
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
PHP无法访问远程mysql的问题分析及解决
May 16 PHP
hadoop中一些常用的命令介绍
Jun 19 PHP
设置php页面编码的两种方法示例介绍
Mar 03 PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 PHP
php获取一个变量的名字的方法
Sep 05 PHP
PHP htmlspecialchars()函数用法与实例讲解
Mar 08 PHP
PHP钩子实现方法解析
May 21 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
Jul 06 PHP
php传值和传引用的区别点总结
Nov 19 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
一个取得文件扩展名的函数
2006/10/09 PHP
php调用mysql存储过程
2007/02/14 PHP
mysql 字段类型说明
2007/04/27 PHP
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
PHP中date()日期函数有关参数整理
2011/07/19 PHP
php页面消耗内存过大的处理办法
2013/03/18 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
php链式操作的实现方式分析
2019/08/12 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
Javascript开发包大全整理
2006/12/22 Javascript
setTimeout和setInterval的区别你真的了解吗?
2011/03/31 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
vue修改vue项目运行端口号的方法
2017/08/04 Javascript
select自定义小三角样式代码(实用总结)
2017/08/18 Javascript
vue.js实现标签页切换效果
2018/06/07 Javascript
jQuery实现获取及设置CSS样式操作详解
2018/09/05 jQuery
微信小程序实现签到功能
2018/10/31 Javascript
JS正则表达式验证密码强度
2020/03/18 Javascript
微信小程序后端无法保持session的原因及解决办法问题
2020/03/20 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
centos系统升级python 2.7.3
2014/07/03 Python
Python检测QQ在线状态的方法
2015/05/09 Python
对python .txt文件读取及数据处理方法总结
2018/04/23 Python
Pytorch的mean和std调查实例
2020/01/02 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
2020/03/01 Python
英文自我鉴定
2013/12/10 职场文书
人事主管岗位职责
2014/01/30 职场文书
自荐信如何制作?
2014/02/21 职场文书
职业生涯规划书前言
2014/04/15 职场文书
教师政风行风评议心得体会
2014/10/21 职场文书
2015年销售部工作总结范文
2015/04/27 职场文书
道歉信范文
2015/05/12 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
python识别围棋定位棋盘位置
2021/07/26 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python