您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> php编程 >> 正文

php目录操作实例代码

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 这篇文章主要介绍了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在哪里返回,理解递归函数。