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 相关文章推荐
MVC模式的PHP实现
Oct 09 PHP
php导入导出excel实例
Oct 25 PHP
php多个文件及图片上传实例详解
Nov 10 PHP
PHP生成条形图的方法
Dec 10 PHP
php+ajax实时刷新简单实例
Feb 25 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
Dec 24 PHP
PHP中使用foreach()遍历二维数组的简单实例
Jun 13 PHP
eclipse php wamp配置教程
Jun 30 PHP
微信支付开发维权通知实例
Jul 12 PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 PHP
使用laravel和ECharts实现折线图效果的例子
Oct 09 PHP
PHP CURL实现模拟登陆并上传文件操作示例
Jan 02 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分页显示制作详细讲解
2008/11/19 PHP
8个超棒的学习 jQuery 的网站 推荐收藏
2011/04/02 Javascript
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
2014/06/23 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
JS实现往下不断流动网页背景的方法
2015/02/27 Javascript
js变形金刚文字特效代码分享
2015/08/20 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
2015/11/29 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
Node.js实现mysql连接池使用事务自动回收连接的方法示例
2018/02/03 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
2018/04/08 Javascript
Node.js模块全局安装路径配置方法
2018/05/17 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
Vue——前端生成二维码的示例
2020/12/19 Vue.js
python使用socket向客户端发送数据的方法
2015/04/29 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
解决python执行较大excel文件openpyxl慢问题
2020/05/15 Python
Django中如何用xlwt生成表格的方法步骤
2021/01/31 Python
机电一体化专业推荐信
2013/12/03 职场文书
学习十八大报告感言
2014/02/28 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
《回乡偶书》教学反思
2014/04/12 职场文书
鉴定评语大全
2014/05/05 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书
学校政风行风评议工作总结
2014/10/21 职场文书
《蓝鲸的眼睛》读后感5篇
2020/01/15 职场文书
python 爬取天气网卫星图片
2021/06/07 Python
Python实现数据的序列化操作详解
2022/07/07 Python
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技