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+MYSQL 出现乱码的解决方法
Aug 08 PHP
用php或asp创建网页桌面快捷方式的代码
Mar 23 PHP
PHP中uploaded_files函数使用方法详解
Mar 09 PHP
php中的注释、变量、数组、常量、函数应用介绍
Nov 16 PHP
解析thinkphp import 文件内容变量失效的问题
Jun 20 PHP
PHP中的插件机制原理和实例
Jul 08 PHP
php在apache环境下实现gzip配置方法
Apr 02 PHP
7个鲜为人知却非常实用的PHP函数
Jul 01 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 PHP
PHP date_default_timezone_set()设置时区操作实例分析
May 16 PHP
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
Apr 16 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
Mysql中limit的用法方法详解与注意事项
2008/04/19 PHP
基于PHP文件操作的详解
2013/06/05 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
PHP实现的浏览器检查类
2016/04/11 PHP
php微信开发之图片回复功能
2018/06/14 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
2019/10/10 PHP
return false;和e.preventDefault();的区别
2010/07/11 Javascript
js性能优化 如何更快速加载你的JavaScript页面
2012/03/17 Javascript
js简易namespace管理器 实例代码
2013/06/21 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
javascript无刷新评论实现方法
2015/05/13 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
2016/06/07 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
vue实现全匹配搜索列表内容
2019/09/26 Javascript
详解node和ES6的模块导出与导入
2020/02/19 Javascript
[01:28]国服启动器接入蒸汽平台操作流程视频
2021/03/11 DOTA
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
python多进程实现文件下载传输功能
2018/07/28 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
详解用Python爬虫获取百度企业信用中企业基本信息
2020/07/02 Python
法国高保真音响和家庭影院商店:Son Video
2019/04/26 全球购物
Helly Hansen工作服美国官方网上商店:为最恶劣的环境
2019/09/04 全球购物
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
追悼会子女答谢词
2014/01/28 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
学雷锋活动总结报告
2014/06/26 职场文书
没有孩子的离婚协议书怎么写
2014/09/17 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
银行催款通知书
2015/04/17 职场文书
远程教育集中轮训基层干部培训班学习心得体会
2016/01/09 职场文书
springboot + mongodb 通过经纬度坐标匹配平面区域的方法
2021/11/01 MongoDB
SQL Server实现分页方法介绍
2022/03/16 SQL Server
详解CSS3浏览器兼容
2022/12/24 HTML / CSS