蝙蝠岛资源网 Design By www.hbtsch.com
为大家分享的第一个操作内容: 遍历并打印指定目录下所有文件
<"目录打开错误!");
while(false!==($filename=readdir($dir_handle))) //文件名为‘0'时,readdir返回 FALSE,判断返回值是否不全等
{
$flag=$dir_flag; //古怪的 is_dir($filename) ! $filename这个路径必须能够寻到!当$filename不存在或者不是目录时返回false
if($filename!='.'&&$filename!='..')
{
$FILE_COUNT++; //不记录当前路径和上一级路径
while($flag>0&&--$flag) //负数仍为真
echo ' ';
if(is_dir($dir_name.$filename)) //判断 是否为一个目录
{
echo '<strong>'."<a href=".$dir_name.$filename.">".$filename."</a></strong><br>";
scan_dir($dir_name.$filename.'/',$dir_flag+1); //$dir_flag标志目录树层次
}
else
{
echo "<a href=".$dir_name.$filename.">".$filename."</a><br>";
}
}
}
closedir($dir_handle); //关闭目录句柄
echo "文件总数:".$FILE_COUNT.'<br>';
}
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 '<a href="'.$dir.'/'.$file.'">'.$file.'</a><br>'."\n";
}
}
closedir($handle);
}
}
}
list_files('D:/AppServ/www/mytest/shopping/payment');
PHP 对文件进行的第二个操作内容:获得文件夹大小 计算文件
<"." && $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对文件夹的进行的基本操作,希望对大家的学习有所帮助。
蝙蝠岛资源网 Design By www.hbtsch.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
蝙蝠岛资源网 Design By www.hbtsch.com
暂无php对文件夹进行相关操作(遍历、计算大小)的评论...
更新日志
2025年10月27日
2025年10月27日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]