InfoQ

交流

讨论:统计某一目录下文件总数?(不包括目录)

作者 rawfire 发布于 0000-00-00 分类:php基础编程

我想做一个统计某一目录下的文件总数的函数,但是下面的函数统计出来的总数包括子目录和文件的统计,,不知道为什么,请帮忙看看

function total1($dir1)
{

if ($handle = opendir($dir1)) {
while (false !== ($file = readdir($handle))) {

if ($file != "." && $file != ".." ) {

if (!is_dir($file)) //不统计子目录

{
$ftotal=$ftotal+1;
}
}
}
closedir($handle);
}

$ftotal=$ftotal;
echo " $ftotal ";
}



逛论坛交流统计某一目录下文件总数?(不包括目录)

加入书签
digg+,
reddit+,
del.icio.us+,
dzone+

5 条回复

回复

[php] <?php error_reporting(0).. 发表人 火龙sky1号 发表于 12月02日
这样行不?大家指教 [php] $d = di.. 发表人 活靶子 发表于 12月02日
谢谢,但是问题还是没有解决呢,, 发表人 rawfire 发表于 12月02日
function dodir($newdirname,$totalsiz.. 发表人 poppop2000 发表于 12月02日
QUOTE: 最初由 rawfire 发布 .. 发表人 wujiyuan 发表于 12月02日
  1. [php] <?php error_reporting(0); $handle=opendir("."); //取當前目錄句柄 echo "目錄 handlehandle "; $dirn=dirname("."); //取當前目錄名 echo "目錄名是dirn"; echo "
    "; echo "文件: "; echo "
    "; while($file=readdir($handle)) { $files=filesize($file); //取文件大小 if (is_file($file)) //如果是文件的話就鏈接顯示 { echo "文件名file 大小files
    "; } else { echo "目錄名file 大小files
    "; } } closedir($handle); //關閉目錄句柄 ?> [/php]

  2. 这样行不?大家指教
    [php]
    $d = dir($path);
    $i=0;
    while(false !== ($v = $d->read())) {

    if($v == "." || $v == "..")
    continue;
    $file = $d->path."/".$v;
    if(is_dir($file))
    {
    continue;
    }
    else
    {
    $++;
    }
    }

    echo "total fiels is ".$i;
    [/php]

  3. 谢谢,但是问题还是没有解决呢,,

  4. function dodir($newdirname,$totalsize){
    global $totalsize;
    $handlesize=opendir($newdirname);
    while ($filesize = readdir($handlesize)){
    $comparefile = $newdirname.$filesize;
    if(is_dir($comparefile) && $filesize !="." && $filesize!=".."){
    $chdirname=$newdirname.$filesize."/";
    dodir($chdirname,$totalsize);
    }
    else{
    if($filesize!="." && $filesize!=".."){
    $totalsize = $totalsize+(filesize($newdirname.$filesize)/1024);
    }
    }
    }
    return $totalsize;
    }
    //==============================================
    一个函数,用dodir("目录名称",0)调用;返回所有文件的累计大小


  5. QUOTE:
    最初由 rawfire 发布
    [B]我想做一个统计某一目录下的文件总数的函数,但是下面的函数统计出来的总数包括子目录和文件的统计,,不知道为什么,请帮忙看看

    function total1($dir1)
    {

    if ($handle = opendir($dir1)) {
    while (false !== ($file = readdir($handle))) {

    if ($file != "." && $file != ".." ) {

    if (!is_dir($file)) //不统计子目录

    {
    $ftotal=$ftotal+1;
    }
    }
    }
    closedir($handle);
    }

    $ftotal=$ftotal;
    echo " $ftotal ";
    } [/B]

    while (false !== ($file = readdir($handle)))
    好像有多余哦,直接點

    while ($file = readdir($handle))

    最後兩句是不是改成

    return $ftotal ;:blowzy: :blowzy: :blowzy:




  6. 我有话要讲:(可以匿名发表, 发广告的有多远请滚多远!!!)

    昵称: 请输入验证码:


抢着回答

linuxbyte重开了。大家快去抢注呀

谁抢注sadly?

兄弟们,偶回来了 :)

,偶抵抗能力特强~~

睡觉去了~~~~~

我要走了,各位明天见 笛子哥哥,你刚上任,我明天一定来多...

[在线等]如何利用php做一个有时间限制的...

如何计时? 并如何做到在时间到后自动提交表单? 以上两点...

imap如何操作mail

我在 http://bbs.phpres.com/showthread.php?s=&threadid=5487 ...

快要吃饭了进来喝碗汤先

心灵鸡汤 给每位村民免费享用———————— 张瀛说……...

php sql 的难题

在两个表table1,table2中,都有名为ssid的列,且意义是一样的。 ...

一个诡异的心理游戏

测试一下你特不特别,很诡异哦! 要以最快速的时间心算所看到...

求救!!! 为什么我向数据库里面写不了数...

是不是配置有错误啊 我用的是mysql 下载下来的源码都写不了数...

这次去南戴河拍的照片,看看哦!!!!

跟贴了继续贴呀。。。号多呀

[]