php目錄操作執行個體代碼

來源:互聯網
上載者:User

 這篇文章主要介紹了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在哪裡返回,理解遞迴函式。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.