PHP中,什么函数可以统计一个目录中共有多少个文件

例如有一个目录,名字叫"dir"里面有若干个不同类型的文件,例如php,asp,txt之类的1)怎样统计该目录下一共有多少个文件2)怎样统计该目录下一共有多少个php文件... 例如有一个目录,名字叫"dir"
里面有若干个不同类型的文件,例如php,asp,txt之类的

1)怎样统计该目录下一共有多少个文件
2)怎样统计该目录下一共有多少个php文件
3)怎样统计该目录下一共有多少个非txt文件
$arr = scandir($dir);
$all = count($arr)-2;//所有文件总数除./和../
这个答案是正确,可以算出实际拥有的文件数.
不过,经过测试,会连文件夹也算进去,
我只需要计算共有多少个文件,而不需要计算文件夹.
展开
 我来答
挚爱和你共亨
2015-09-03 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1.9万
采纳率:0%
帮助的人:1.2亿
展开全部
$arr = scandir($dir);
$all = count($arr)-2;//所有文件总数除./和../
$php = count(preg_grep("/\.php$/", $arr));
$txt0 = $all - count(preg_grep("/\.txt$/", $arr));
echo '共有'.$all.'个文件,php文件'.$php.'个,非txt文件'.$txt0.'个';
希采纳
齐霸王在江湖梦
2015-06-27 · TA获得超过3312个赞
知道小有建树答主
回答量:726
采纳率:75%
帮助的人:63.5万
展开全部
$arr = scandir($dir);
$all = count($arr)-2;//所有文件总数除./和../
$php = count(preg_grep("/\.php$/", $arr));
$txt0 = $all - count(preg_grep("/\.txt$/", $arr));
echo '共有'.$all.'个文件,php文件'.$php.'个,非txt文件'.$txt0.'个';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
溜须拍马关云长
2009-02-09 · TA获得超过1708个赞
知道大有可为答主
回答量:2443
采纳率:0%
帮助的人:0
展开全部
$arr = scandir($dir);
$all = count($arr)-2;//所有文件总数除./和../
$php = count(preg_grep("/\.php$/", $arr));
$txt0 = $all - count(preg_grep("/\.txt$/", $arr));
echo '共有'.$all.'个文件,php文件'.$php.'个,非txt文件'.$txt0.'个';
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-02-08
展开全部
$arr = scandir($dir);
echo '共有 '.count($arr)." 个文件\n";
echo '.PHP文件个数:'.count(array_filter($arr,create_function('$val','return preg_match(\'/\\.php$/i\',$val);')))."个\n";
echo '非.TXT文件个数:'.count(array_filter($arr,create_function('$val','return preg_match(\'/(?<!\\.txt)$/i\',$val);')))."个\n";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
佛洛依德的骆驼
2009-02-08 · TA获得超过528个赞
知道小有建树答主
回答量:458
采纳率:0%
帮助的人:0
展开全部
这样,比如你的dir在c盘
<?php
$dirName = "C:\dir";
$dp = opendir($dirName);

while($currentFile !== false){
$currentFile = readDir($dp);
$theFiles[] = $currentFile;
}

$allFiles = count($theFiles);//1、所有文件总数
$phpFiles = count(preg_grep("/php$/", $theFiles));//2、php文件个数
$nontxtFiles = $allFiles - count(preg_grep("/txt$/", $theFiles));//3、非txt文件个数
?>

主要就是opendir()函数和preg_grep()函数,像Unix里的正则.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式