ordner auslesen problem

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

  • ordner auslesen problem

    PHP-Code:
    <?php

    function getList($dirname="bilder"$branchname$path)
    {
        
    $dirhandle opendir($dirname);
        
    $tree '';
        
    $tree .= "<tree>";
        while((
    $dir readdir($dirhandle)) !== FALSE) { 
            
    //if((is_dir($dir)) && ($dir!='.') && ($dir!='..') )     
            
    if (!is_dir($dir) && '.'!=substr($dir01)) {
                
    $tree .= "<Branch text='$branchname'>";
                
    $subdirhandle opendir($dirname."/".$dir);
                while((
    $picture readdir($subdirhandle)) !== FALSE) {
                    if(!
    is_file($picture) && '.'!=substr($picture01)) {
                        
    $tree .= "<Leaf text='$picture' url='$path$picture' />";
                    }
                }
                
    closedir($subdirhandle);
                
    $tree .= "</Branch>";
            }
        }
        
    $tree .= "</tree>";
        
    closedir($dirhandle);
        return 
    $tree;
    }

    header("Content-type: text/xml");
    echo(
    "<?xml version='1.0'?>");
    echo(
    "<images>");
    echo 
    getList("bilder","MMK","");
    echo(
    "</images>");
    ?>

    also ich bekomme schon was angezeigt, aber irgendwie ist das is_dir und is_file merkwürdig

    ich habs jetzt eigentlich umgekehrt also anstatt is_file ein !is_file komischeweise klappt das aber teileweise.!

    hat schon mal wer sowas gemacht und ähnlich probleme gelöst ?
    thx Mukraker

  • #2
    Re: ordner auslesen problem

    Original geschrieben von mukraker
    while(($picture = readdir($subdirhandle)) !== FALSE) {
    if(!is_file($picture) && '.'!=substr($picture, 0, 1)) {

    also ich bekomme schon was angezeigt, aber irgendwie ist das is_dir und is_file merkwürdig
    is_dir() und is_file() erwarten Pfad und Name auf das, was sie testen sollen.

    Hier ein Beispiel: Listet ab dem Startverzeichnis rekursiv alle gefundenen Dateien.
    PHP-Code:
    function dirlist($DIR FALSE

        if ( ! 
    $DIR OR ! is_dir($DIR)) return; 

        if (
    substr($DIR,-1) != "/"$DIR .= "/"
        
    $r = array(); 
        if (
    $d dir($DIR)) 
        { 
            while (
    $n $d->read()) 
            { 
                if (
    $n == "." OR $n == "..") continue; 
                if (
    is_file($DIR $n)) $r[] = $DIR $n
                if (
    is_dir($DIR $n))     $r array_merge($rdirlist($DIR $n)); 
            } 
            
    $d->close(); 
        } 
        return 
    $r


    $path "./dir0"
    $liste dirlist($path); 

    print (
    '<p>folgende Files wurden gefunden:</p>'); 

    print (
    '<pre>'); 
    print_r ($liste); 
    print (
    '</pre>'); 

    Kommentar


    • #3
      PHP-Code:
      <?php
      function getList($dirname="bilder"$branchname$path)
      {
          if (
      substr($dirname,-1) != "/") {
               
      $dirname .= "/"
          }
          
      $dirhandle opendir($dirname);
          
      $tree '';
          
      $tree .= "<tree name='$branchname'>";
          while((
      $dir readdir($dirhandle)) !== FALSE) {   
              if (
      is_dir($dirname.$dir) && '.'!=substr($dir01)) {
                  
      $tree .= "<Branch name='$dir'>";
                  
      $subdirhandle opendir($dirname.$dir);
                  
      //kann man auch schön rekursiv machen, doch reicht mir das erst mal so
                  
      while(($picture readdir($subdirhandle)) !== FALSE) {
                      
      $subdirname $dirname.$dir."/";
                      if(
      is_file($subdirname.$picture) && '.'!=substr($subdirname.$picture01)) {
                          
      $tree .= "<Leaf text='$picture' url='$path$picture' />";
                      }
                  }
                  
      closedir($subdirhandle);
                  
      $tree .= "</Branch>";
              }
          }
          
      $tree .= "</tree>";
          
      closedir($dirhandle);
          return 
      $tree;
      }
      ?>
      so gehts
      thx Mukraker

      Kommentar

      Lädt...
      X