Eike: Wie viele Datein sind im Ordner?

Hallo,
ich habe ein Upload Script und möchte ausgeben wie viele Datein schon hochgeladen wurden! Wie stelle ich das denn am besten an?

MfG Eike

  1. hallo eike,
    hab ziemlich genau das gleiche gebaut, deswegen sende ich fdir einbfach meine klasse.

    viele grüsse,
    andi

    class FileFinder
    {
      var $returnArray;

    function FileFinder()
      {
        $this->returnArray = array();
      }

    function getFiles($dir)
      {
        global $silent;
        global $recursive;
        global $directoryDelimiter;
        global $ignoreEmptyDirs;
        $returnArray = array();

    if(!$handle=opendir($dir))
        {
          die();
        }

    while (false !== ($file = readdir($handle))) {
          $actualFullFile = $dir.$directoryDelimiter.$file;

    if(is_file($actualFullFile)) //((trim($file) != ".") && (trim($file) != ".."))
          {
            $returnArray[] = $actualFullFile;
          }
          elseif ($recursive === true && is_dir($actualFullFile) && (trim($file) != "." && trim($file) != ".."))
          {
            $tmpArray = $this->getFiles($actualFullFile);
            if(is_array($tmpArray))
            {
              if($ignoreEmptyDirs === true)
              {
                 if(count($tmpArray) > 0)
                 {
                    $returnArray[] = $tmpArray;
                 }
              }
              else
              {
                $returnArray[] = $tmpArray;
              }
            }
          }
        }
        closedir($handle);
        if(count($returnArray > 0))
        {
          return $returnArray;
        }
        else {
         return null;
        }
      }
    }

    1. class FileFinder
      {
        var $returnArray;

      function FileFinder()
        {
          $this->returnArray = array();
        }

      function getFiles($dir)
        {
          global $silent;
          global $recursive;
          global $directoryDelimiter;
          global $ignoreEmptyDirs;
          $returnArray = array();

      if(!$handle=opendir($dir))
          {
            die();
          }

      while (false !== ($file = readdir($handle))) {
            $actualFullFile = $dir.$directoryDelimiter.$file;

      if(is_file($actualFullFile)) //((trim($file) != ".") && (trim($file) != ".."))
            {
              $returnArray[] = $actualFullFile;
            }
            elseif ($recursive === true && is_dir($actualFullFile) && (trim($file) != "." && trim($file) != ".."))
            {
              $tmpArray = $this->getFiles($actualFullFile);
              if(is_array($tmpArray))
              {
                if($ignoreEmptyDirs === true)
                {
                   if(count($tmpArray) > 0)
                   {
                      $returnArray[] = $tmpArray;
                   }
                }
                else
                {
                  $returnArray[] = $tmpArray;
                }
              }
            }
          }
          closedir($handle);
          if(count($returnArray > 0))
          {
            return $returnArray;
          }
          else {
           return null;
          }
        }
      }

      ehhhm tjoa wo kann ich den die Zahl ausgeben? Aber schon mal Danke!

      1. so sollte das gehen. wenn du bock hast, kannst du jetzt ohne weiteres noch einen dateifilter einbauen.
        viele grüsse, andi

        //---------------------------
        $fileCounter = 0;

        $fileObject = & new FileFinder();
        $fileArray = $fileObject->getFiles($dir);

        echo $fileCounter;
        //end

        class FileFinder
        {
          var $returnArray;

        function FileFinder()
          {
            $this->returnArray = array();
          }

        function getFiles($dir)
          {
            global $silent;
            global $recursive;
            global $directoryDelimiter;
            global $ignoreEmptyDirs;

        global $fileCounter;

        $returnArray = array();

        if(!$handle=opendir($dir))
            {
              die();
            }

        while (false !== ($file = readdir($handle))) {
              $actualFullFile = $dir.$directoryDelimiter.$file;

        if(is_file($actualFullFile)) //((trim($file) != ".") && (trim($file) != ".."))
              {

        ++$fileCounter;

        $returnArray[] = $actualFullFile;
              }
              elseif ($recursive === true && is_dir($actualFullFile) && (trim($file) != "." && trim($file) != ".."))
              {
                $tmpArray = $this->getFiles($actualFullFile);
                if(is_array($tmpArray))
                {
                  if($ignoreEmptyDirs === true)
                  {
                     if(count($tmpArray) > 0)
                     {
                        $returnArray[] = $tmpArray;
                     }
                  }
                  else
                  {
                    $returnArray[] = $tmpArray;
                  }
                }
              }
            }
            closedir($handle);
            if(count($returnArray > 0))
            {
              return $returnArray;
            }
            else {
             return null;
            }
          }
        }

        ehhhm tjoa wo kann ich den die Zahl ausgeben? Aber schon mal Danke!