php对文件夹进行相关操作(遍历、计算大小),为大家分享的第一个操作内容: 遍历并打印指定目录下所有文件
0&&--$flag) //负数仍为真 echo ' '; if(is_dir($dir_name.$filename)) //判断 是否为一个目录 { echo ''..$filename.
; scan_dir($dir_name.$filename.'/',$dir_flag+1); //$dir_flag标志目录树层次 } else { echo .$filename.
; } } } closedir($dir_handle); //关闭目录句柄 echo 文件总数:.$file_count.'
'; } scan_dir('d:/appserv/www/mytest/shopping/payment/'); /*总结:1,关于路径 目录的路径末尾都加上 '/' 以便后面与文件名字符串连接 形成新的 路径字符串2,目录遍历 这是一个关于树的问题3,is_dir()函数第一个参数必须是一个能够识别的path否则会因目录不存在而返回一个false容易误解得出 “这不是一个目录”的错误结论 形成逻辑上的错误4,注意当前路径'.'和上一级路径'..'的剔除 否则 在递归环节造成死循环 直至内存耗尽出错。5,dir_flag这个变量是记录树的深度 以便于目录分级分层输出 *//*不足1,输出排版不完善2,逻辑与表示层混乱 不分明 大忌!3,面向过程*/
#####单目录#####
// 列出目录内容 $dir 不要加 '/' function list_files($dir) { if(is_dir($dir)) { if($handle = opendir($dir)) { while(($file = readdir($handle)) !== false) { if($file != . && $file != .. && $file != thumbs.db) { echo ''.$file.'
'.\n; } } closedir($handle); } } } list_files('d:/appserv/www/mytest/shopping/payment');
php 对文件进行的第二个操作内容:获得文件夹大小 计算文件
<?php function getdirsize($dir) { $handle = opendir($dir); while (false!==($folderorfile = readdir($handle))) { if($folderorfile != . && $folderorfile != ..) { if(is_dir($dir/$folderorfile)) { $sizeresult += getdirsize($dir/$folderorfile); } else { $sizeresult += filesize($dir/$folderorfile); } } } closedir($handle); return $sizeresult; } //单位自动转换函数 function getrealsize($size) { $kb = 1024; //kilobyte $mb = 1024 * $kb; //megabyte $gb = 1024 * $mb; //gigabyte $tb = 1024 * $gb; //terabyte if($size < $kb) { return $size. b; } else if($size < $mb) { return round($size/$kb,2). kb; } else if($size < $gb) { return round($size/$mb,2). mb; } else if($size < $tb) { return round($size/$gb,2). gb; } else { return round($size/$tb,2). tb; } } echo getrealsize(getdirsize('d:/appserv/www/mytest/')); // get byte function dirsize($dir) { $handle=opendir($dir); $size = 0; while ( $file=readdir($handle) ) { if ( ( $file == . ) || ( $file == .. ) ) continue; if ( is_dir($dir/$file) ) $size += dirsize($dir/$file); else $size += filesize($dir/$file); } closedir($handle); return $size; } $big=dirsize(dirname($_server['script_filename'])./); echo '('.$big.' bytes)';
以上就是关于php对文件夹的进行的基本操作,希望对大家的学习有所帮助。
http://www.bkjia.com/phpjc/1067826.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/1067826.htmltecharticlephp对文件夹进行相关操作(遍历、计算大小), 为大家分享的第一个操作内容: 遍历并打印指定目录下所有文件 php //功能:遍历并打印指...