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
一个简单的MySQL数据浏览器
Oct 09 PHP
第一节--面向对象编程
Nov 16 PHP
PHP新手用的Insert和Update语句构造类
Mar 31 PHP
php内核解析:PHP中的哈希表
Jan 30 PHP
php对称加密算法示例
May 07 PHP
浅析ThinkPHP的模板输出功能
Jul 01 PHP
如何使用php实现评委评分器
Jul 31 PHP
php实现统计目录文件大小的函数
Dec 25 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
如何让PHP编码更加好看利于阅读
May 12 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 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 图片文件上传实现代码
2010/12/29 PHP
PHP+javascript制作带提示的验证码源码分享
2014/05/28 PHP
php提取字符串中网站url地址的方法
2014/12/03 PHP
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
2014/01/06 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
2016/11/24 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
Vue Ajax跨域请求实例详解
2017/06/20 Javascript
JavaScript+CSS相册特效实例代码
2017/09/07 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
[01:22:29]真视界:2019年国际邀请赛总决赛
2020/01/29 DOTA
浅谈五大Python Web框架
2017/03/20 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
python用post访问restful服务接口的方法
2018/12/07 Python
Python3实现计算两个数组的交集算法示例
2019/04/03 Python
Django数据库类库MySQLdb使用详解
2019/04/28 Python
Python解压 rar、zip、tar文件的方法
2019/11/19 Python
关于pandas的离散化,面元划分详解
2019/11/22 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
2020/03/02 Python
python连接mongodb数据库操作数据示例
2020/11/30 Python
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
80年代复古T恤:TruffleShuffle
2018/07/02 全球购物
日本航空官方网站:JAL
2019/06/19 全球购物
学习2014年全国两会心得体会
2014/03/12 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
教师个人自我剖析材料
2014/09/29 职场文书
推荐信范文大全
2015/03/27 职场文书
机械生产实习心得体会
2016/01/22 职场文书
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android
Python中第三方库Faker的使用详解
2022/04/02 Python