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 条回复

回复

function dodir($newdirname,$totalsiz.. 发表人 poppop2000 发表于 12月02日
QUOTE: 最初由 rawfire 发布 .. 发表人 wujiyuan 发表于 12月02日
谢谢,但是问题还是没有解决呢,, 发表人 rawfire 发表于 12月02日
这样行不?大家指教 [php] $d = di.. 发表人 活靶子 发表于 12月02日
[php] <?php error_reporting(0).. 发表人 火龙sky1号 发表于 12月02日
  1. 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)调用;返回所有文件的累计大小


  2. 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:

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

  4. 这样行不?大家指教
    [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]

  5. [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]




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

    昵称: 请输入验证码:


抢着回答

看看啊~~~~~php如何在网页中对小灵通发...

sms源程序(c编写)和帐号都有, 请问如何在php中调用. 谢谢

Nike Basketball 广告

click here

要计算每个时间段的访客人数怎么写啊,时...

具体程序怎么写

大家知不知道在ASP里崁入php代码运行.

如上,有可能吗?

我要当版主

全屏 [ Full Screen ]

大家好!新来的

没什么好说的 我是一个做FLASH的 嗯 。。。。。。。。。。。。...

本人设计的黑眼睛标志!

本人设计的黑眼睛标志!

关于手机收费的问题?

我们在网页上做完手机收费的页面。 那么我们如果要一套网上收费...

上传文件怎么样能延时呢??

有时候文件过大,上传的时候时间不够,如何设置延时时间!!

图片上传问题???

为什么我在本机上上传图片一点问题都没有,可是我把它运行于网络...

[]