is_dir() und is_file() unter Windows

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • is_dir() und is_file() unter Windows

    Habe eine PHP Windows Installation.

    Versuche aus einem Verzeichnis nur die darin enthaltenen Verzeichnise auszulesen.
    Doch ich erhalte immer nur falsche Ergebnisse!
    Mit is_dir() wird mir nur "." und "..." ausgegeben es sind aber weitere Verzeichnise vorhanden.

    Mit !is_file() bekomme ich Verzeichnise und teilweise Dateien.

    Ich habe mit filetype() mir mal ausgeben lassen was für Typen in dem Verzeichnis sind.

    Bei einer Datei von 3 Dateien zeigt er an das es ein "file" ist bei den anderen nicht. Von den Verzeichnisen kann er nur "." und ".." als "dir" erkennen die anderen Verzeichnise erkennt er nicht!

    So habe ich es bis jetzt:
    PHP-Code:
    while($dir readdir($sub_mappen)){
    // Hier ist mein Problem
     
    if (!is_file($dir) && $dir != "." && $dir != ".."){ 
        echo 
    filetype($dir);
       echo 
    $dir.'<br>
     }
    // Problem Ende

    Gibt es eine andere Möglichkeit nur die Verzeichnise auszulesen?

    Danke schon mal für eure Antworten.

  • #2
    rein theoretisch:
    is_dir($dir) == file_exists("$dir/.") == is_dir("$dir/.")
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      versuch es mal hiermit:

      PHP-Code:
      function getDirContent($sDir)
      {    
          
      $aFile = array();                                
          if (
      file_exists($sDir))
          {
              
      $hDir = @opendir($sDir);
              while (
      $file = @readdir($hDir))
                  
      $aFile[] = $file;
              @
      closedir($hDir);
          }
          else
              print(
      'File $sDir fehlt / konnte nicht geöffnet werden');
          return 
      $aFile;
      }
      //getDirContent()...

      function getFiles($sDir$iLastcheck)
      {        
      //    echo $iLastcheck;
          
      $aFile $this->getDirContent($sDir);    
          foreach(
      $aFile as $file2)
          {
              
      //ignore if filename '.' or '..'
              
      if ($file2 != "." && $file2 != "..")
              {
                  if(
      is_dir($sDir ."/"$file2))
      //                  echo $file2." - dir<br>";
                      
      $aAllFiles[] = getFiles($sDir ."/"$file2$iLastcheck);
                  elseif(
      is_file($sDir ."/"$file2))
                  {
                      if(
      filemtime($sDir ."/"$file2) >= $iLastcheck)
                          
      $aAllFiles[] = $sDir ."/"$file2;
                  }
              }
          }
      //    echo count($aAllFiles)."<br>";                        
          
      return $aAllFiles;
      }
      //getFiles()... 
      require_once('gehirn_v_02beta.php');

      Kommentar

      Lädt...
      X