萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php目錄操作實例代碼

php目錄操作實例代碼

 這篇文章主要介紹了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在哪裡返回,理解遞歸函數。
copyright © 萬盛學電腦網 all rights reserved