Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Verzeichnis auslesen (dir) ohne index.php anzeigen

  1. #1
    Registrierter Benutzer
    Registriert seit
    29.11.2002
    Beiträge
    43

    Question Verzeichnis auslesen (dir) ohne index.php anzeigen

    Hi, ich hab mal wieder ein Problem.
    Undzwar möchte ich ein Verzeichnis auslesen, dass klappt auch ganz gut. Doch sobald ein Verzeichnis mit einem Buchstaben vor I anfängt wird die index.php auch angezeigt. Wie schaffe ich es das dies nicht geschiet, habe schon verschiedenes ausprobiert.
    Könnt ihr mir sagen wo der Fehler liegt?
    Das ist der Auszug, sieht ein bischen komisch aus, da ich schon ein bischen mit der index.php rumgebastelt habe ;D.
    PHP-Code:
                  #  Verzeichnise
        
    $verz shell_exec("dir -A -m");
        
    #$verz_neu = strstr($verz," ");
        #$verz_array = explode(" ",$verz_neu);
        
    $verz_array explode(",",$verz);
        
    $verz_laenge  sizeof($verz_array);
        
    # Fuer Jedes Verzeichnis
                    # Versuch Indexphp wegzubekommen ^^
        
    for($i=0$i<$verz_laenge$i++)
        {
            
    # Indexphp Rausfiltern
            
    if ($verz_array[$i] == "index.php"$verz_array[$i] = "";
        }
        
    $verz_laenge  sizeof($verz_array);
        for(
    $i=1$i<$verz_laenge$i++)
        {
            
    # Anzahl der Bilder fuer MAX
            
    $u_verz shell_exec("dir/$verz_array[$i]");
            
    $u_verz_array explode(" ",$u_verz);
            
    $u_verz_laenge  sizeof($u_verz_array);
            echo 
    $u_verz_laenge;
            
    $u_verz_laenge $u_verz_laenge 1;
            
    # Ausgabe Link
            
    echo  "<a href=\"index.php?dir=" $verz_array[$i] . "&img=1&action=view&max=" $u_verz_laenge "\">$verz_array[$i]</a> <br>";
        } 
    Danke im Voraus.....

  2. #2
    Registrierter Benutzer
    Registriert seit
    28.05.2003
    Ort
    Birkenwerder
    Beiträge
    9
    Das was du suchst:

    PHP-Code:
    $hdl opendir($path);
    while (
    $dir readdir($hdl))
    {
     if (
    $dir != "index.php" && !is_dir($dir))


    Was dir vielleicht helfen kann (mein index-Script):
    PHP-Code:
    <?
    /* Funktiondeklaration */
    function getPath() //Gibt den aktuellen PFad zurpck
    {
        $pathexp = explode("/",(getenv("SCRIPT_FILENAME")));
        $res = (count($pathexp) -1);
        for ($i=1;$i < $res; $i++)       // Schleife
                 {
                     $path = $path . "/". $pathexp[$i];      // Setze zerschnittene Teile zu Verzeichnisbeschr. zusammen
                 }
        return $path;
    }

    function getIndex($dir) //Index ermitteln
    {
    if (file_exists("$dir/")==TRUE) {
    $link = "$dir/";  }
    if (file_exists("$dir/htdocs/")==TRUE) {
    $link = "$dir/htdocs/";  }
    if (file_exists("$dir/index.htm")==TRUE) {
    $link = "$dir/index.htm";  }
    if (file_exists("$dir/index.html")==TRUE) {
    $link = "$dir/index.html";  }
    if (file_exists("$dir/index.php")==TRUE) {
    $link = "$dir/index.php";  }
    if (file_exists("$dir/htdocs/index.htm")==TRUE) {
    $link = "$dir/htdocs/index.htm";  }
    if (file_exists("$dir/htdocs/index.html")==TRUE) {
    $link = "$dir/htdocs/index.html";  }
    if (file_exists("$dir/htdocs/index.php")==TRUE) {
    $link = "$dir/htdocs/index.php";  }
    return $link;
    }
    ?>

    <body>
    <table align='center' border="0" width="750" bgcolor="#211140">
    <tr><td width="100%" align="center"><font class='headline'>
    <hr><b>Derzeite Projekte:</b><hr>
    <table align='center' border="0" width="500" bgcolor="#336699">

    <!--- Beginn des Ordner auszählens --->
    <?
    if (getenv("REMOTE_ADDR") == "127.0.0.1") echo "<tr><td><a class='Klein' href=" .  getIndex(".admin") . "><b>Admin</b></a></td></tr> ";
    /* Main Code */
    $path= getPath();
    $hdl = opendir($path);
    while ($dir = readdir($hdl))
    {
       if  (is_dir($dir) && $dir != "." && $dir != ".." && substr($dir,0,1) != ".") {
          $verzs[$z] = $dir;
          $z++;

    }  
    }

    asort($verzs);
    foreach($verzs as $verz)
     {     ?> <tr><td>
            <a class='Klein' href="<? echo getIndex($verz); ?>"><? echo $verz ; ?></a>
            </td></tr> <?
        }
        
         ?>
    <!--- Ende des Ordner auszählens --->

  3. #3
    Registrierter Benutzer
    Registriert seit
    29.11.2002
    Beiträge
    43
    Danke, ich habs jetzt so gelöst:
    PHP-Code:
                function getPath() //Gibt den aktuellen PFad zurpck
                
    {
                    
    $pathexp explode("/",(getenv("SCRIPT_FILENAME")));
                    
    $res = (count($pathexp) -1);
                    for (
    $i=1;$i $res$i++)       // Schleife
                    
    {
                        
    $path $path "/"$pathexp[$i];      // Setze zerschnittene Teile zu Verzeichnisbeschr. zusammen
                    
    }
                    return 
    $path;
                }

            
    $pathgetPath();
            
    $hdl opendir($path);
            while (
    $dir readdir($hdl))
            {
                if  (
    is_dir($dir) && $dir != "." && $dir != ".." && substr($dir,0,1) != "."
                {
                    
    $verzs[$z] = $dir;
                    
    $z++;
                }
            }

            
    asort($verzs);
            foreach(
    $verzs as $verz)
            {
                echo  
    "<a href=\"index.php?dir=" $verz "&img=1&action=view&max=" $verz_u_laenge "\">$verz</a> <br>"
    # $verz_u_laenge anzahl der bilder die in dem UNTERverzeichnis sind! > Fehlt noch!!
            
    }
            } 
    Jetzt habe ich aber noch ein Problem:
    Und zwar brauche ich die Anzahl der .JPG die in dem Verzeichnis $verz sind und dann in $verz_u_laenge gespeichert werden.
    Ich weiß nicht in wie weit und wo ich deine Funktion modifiziern muss damit ich einen dir bekomme und aus diesen dann mit sizeof die anzahl der dateien bekommen.

    Hatte schon mal überlegt diese:

    PHP-Code:
            while ($dir readdir($hdl))
            {
                if  (
    is_dir($dir) && $dir != "." && $dir != ".." && substr($dir,0,1) != "."
                {
                    
    $verzs[$z] = $dir;
                    
    $z++;
                }
            } 
    auf das unterverzeichnis anzuwenden mit geändertem $dir quasie das hdl ändern, das geht aber leider nicht.

    Kann mir bitte einer sagen wo bzw. wie ich die funktionen ändern nutzen muss, da ich von der dir geschichte keine Ahnung habe.
    Geändert von Individuum (05-06-2003 um 16:07 Uhr)

  4. #4
    Registrierter Benutzer
    Registriert seit
    28.05.2003
    Ort
    Birkenwerder
    Beiträge
    9
    PHP-Code:
    $hdl opendir($verzeichnis);
    while (
    $img readdir($hdl))
    {
      
    $bild explode(".",$img);  // Zerschneide Bildnamen am Punkt (.)
      
    $res = (count($bild) - 1);    // Analysiere Länge der zerschnittenen Teile des Bildnamen
      
    if (!is_dir($img) && $bild[$res] == "jpg") {
        
    $i++;
        
    $image[$i] = $img;
      }
       
    }

    echo 
    count($image); 

  5. #5
    Registrierter Benutzer
    Registriert seit
    29.11.2002
    Beiträge
    43
    Also für alle die es interesiert:
    PHP-Code:
                function getPath() //Gibt den aktuellen PFad zurpck
                
    {
                    
    $pathexp explode("/",(getenv("SCRIPT_FILENAME")));
                    
    $res = (count($pathexp) -1);
                    for (
    $i=1;$i $res$i++)       // Schleife
                    
    {
                        
    $path $path "/"$pathexp[$i];      // Setze zerschnittene Teile zu Verzeichnisbeschr. zusammen
                    
    }
                    return 
    $path;
                }

            
    $pathgetPath();
            
    $hdl opendir($path);
            while (
    $dir readdir($hdl))
            {
                if  (
    is_dir($dir) && $dir != "." && $dir != ".." && substr($dir,0,1) != "."
                {
                    
    $verzs[$z] = $dir;
                    
    $z++;
                }
            }

            
    asort($verzs);
            foreach(
    $verzs as $verz)
            {
                
    $hdl opendir($verz);
                while (
    $img readdir($hdl))
                {
                    
    $bild explode(".",$img);  // Zerschneide Bildnamen am Punkt (.)
                    
    $res = (count($bild) - 1);    // Analysiere Länge der zerschnittenen Teile des Bildnamen
                    
    if (!is_dir($img) && $bild[$res] == "JPG"
                    {
                        
    $i++;
                        
    $image[$i] = $img;
                    }
                }
                
                
    $verz_u_laenge count($image);
                
                echo  
    "<a href=\"index.php?dir=" $verz "&img=1&action=view&max=" $verz_u_laenge "\">$verz</a> <br>";
                
    $image "";
                
    $verz_u_laenge 0;            
            } 
    Und @ basi ein fettes danke, hab dich im Copyright verewigt *g*

  6. #6
    Registrierter Benutzer
    Registriert seit
    28.05.2003
    Ort
    Birkenwerder
    Beiträge
    9
    Danke dir, wo kann ich das in Aktion sehen?

  7. #7
    Registrierter Benutzer
    Registriert seit
    29.11.2002
    Beiträge
    43
    wenn's fertig is schick ich dir mal ne pm mit dem link, im moment siehts nämlich noch shice aus, aber bin ja fleisig am arbeiten. *g*

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •