php目录操作实例代码

代码如下:

<?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在哪里返回,理解递归函数。

(0)

相关推荐

  • PHP中文件读、写、删的操作(PHP中对文件和目录操作)

    一:目录操作 首先介绍的是一个从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出: 复制代码 代码如下: <?php $base_dir = "filelist/"; $fso = opendir($base_dir); echo $base_dir."<hr/>" ; while($flist=readdir($fso)){ echo $flist."<br/&

  • PHP 创建文件(文件夹)以及目录操作代码

    一.目录操作 首先是从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出: 复制代码 代码如下: <?php $base_dir="filelist/"; $fso=opendir($base_dir); echo $base_dir."<hr/>"; while($flist=readdir($fso)){ echo $flist."<br/>";

  • php文件夹与文件目录操作函数介绍

    php文件夹操作函数 string basename ( string path [, string suffix] )给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名.如果文件名是以 suffix 结束的,那这一部分也会被去掉.在 Windows 中,斜线(/)和反斜线()都可以用作目录分隔符.在其它环境下是斜线(/). string dirname ( string path ) 给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名.在 Windows

  • php中目录,文件操作详谈

    一.引论 在任何计算机设备中,文件是都是必须的对象,而在web编程中,文件的操作一直是web程序员的头疼的地方,而,文件的操作在cms系统中这是必须的,非常有用的,我们经常遇到生成文件目录,文件(夹)编辑等操作,现在我把php中的这些函数做一详细总结并实例示范如何使用.,关于对应的函数详细介绍,请查阅php手册.此处只总结重点.和需要注意的地方.(这在php手册是没有的.) 二.目录操作 首先介绍的是一个从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是

  • PHP目录操作实例总结

    本文实例总结了PHP目录操作方法.分享给大家供大家参考,具体如下: 目录操作 新建目录:mkdir(路径,权限,递归创建) 删除目录:rmdir() 移动(改名):rename() 获取目录内容: //打开目录 目录句柄 = opendir() //读取目录 文件名 = readdir(目录句柄) 依次读取文件名,同时向下移动文件句柄指针,读取不到则返回false //关闭目录 closedir() 递归读取目录内容: <?php showDir('../../file'); function

  • PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)

    本文实例总结了PHP目录与文件操作技巧.分享给大家供大家参考,具体如下: Demo1.php <?php //将一个路径赋给一个变量 //它目前来说,只是一个字符串,字符串表示的是一个目录的路径 //文件名包含,文件的名称 + 文件的扩展名(就是.后面的文件类型) //文件的扩展名说白了就是文件后缀 $path = 'C:\AppServ\www\Basic6\Demo1.php'; // echo basename($path); // echo '<br/>'; // //dirna

  • php目录操作函数之获取目录与文件的类型

    复制代码 代码如下: <?php $dir = "./"; // Open a known directory, and proceed to read its contents if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { echo "filename: $file : filetype: " . filetype($dir

  • PHP常用技术文之文件操作和目录操作总结

    一.基本文件的操作 文件的基本操作有:文件判断.目录判断.文件大小.读写性判断.存在性判断及文件时间等 <?php header("content-type","text/html;charset=utf-8"); /* *声明一个函数,传入文件名获取文件属性 *@param string $fileName 文件名称 */ function getFilePro($fileName) { if(!file_exists($fileName)) { echo

  • 第六章 php目录与文件操作

    一.目录操作 basename -- 返回路径中的文件名部分 dirname -- 返回路径中的目录部分 pathinfo -- 返回文件路径的信息 realpath -- 返回规范化的绝对路径名 复制代码 代码如下: <?php $path = 'demo1.php'; $path = realpath($path); echo basename($path); echo '<br>'; echo dirname($path); echo '<br>'; $array_pa

  • PHP文件操作之获取目录下文件与计算相对路径的方法

    获取目录下文件 1.获取目录下文件,不包括子目录 //获取某目录下所有文件.目录名(不包括子目录下文件.目录名) $handler = opendir($dir); while (($filename = readdir($handler)) !== false) {//务必使用!==,防止目录下出现类似文件名"0"等情况 if ($filename != "." && $filename != "..") { $files[]

  • PHP面试题之文件目录操作

    这道题其实并不难,考点主要在函数substr() strrchr()  array_pop()  strrpos() strpos() strrev() explode()  pathinfo(). 废话不多说了,直接给大家贴代码了. 获取文件后缀,遍历目录层次 /** * 5种方式获取文件后缀名 * 这道题其实就是考函数substr() strrchr() array_pop() strrpos() strpos() strrev() explode() pathinfo() * @param

随机推荐