Verzeichnisstrucktur

GN911

Erfahrenes Mitglied
Hallo,


ich versuche mich gerade am Verzeichnisauslesen.
Leider gibt es da zwei, drei Sachen die noch nicht so richtig wollen.


Code:
    echo "<h3>$handle</h3>\n"; zeigt mir Resource id #2 an
    echo filesize($file) gibt wenn denn nur 0 aus
 echo "<hr /><p>Es sind $i Verzeichnisse und $i Dateien vorhanden.</p>"; à wie kann ich mir das richtig anzeigen lassen, wieviel Ordner und wieviel Dateien im Verzeichnis sind.

PHP:
  <?php
    
    $i = 0;
    $handle = opendir(getcwd());
    
    $array = array('php' => 'php.png', 'html' => 'html.png');
    #print_r ($array);
    
    echo "<h3>$handle</h3>\n";
    echo "<table summary=\"Verzeichnisstrucktur\" border=\"0\" cellspacing=\"0\" cellpadding=\"3\">\n";
    echo "<caption></caption>\n";
    echo "<thead>\n";
    echo "  <tr>\n";
    echo "	<th>Name</th>\n";
    echo "	<th>Last modified</th>\n";
    echo "	<th>Size</th>\n";
    echo "  </tr>\n";
    echo "</thead>\n";
    echo "<tfoot>\n";
    echo "  <tr>\n";
    echo "	<td></td>\n";
    echo "	<td></td>\n";
    echo "	<td></td>\n";
    echo "  </tr>\n";
    echo "</tfoot>\n";
    echo "<tbody>\n";
    while ($file = readdir($handle))
    {
  	  if ($file != "." && $file != "..")
  	  {
  		  $i++;
  		  echo "  <tr>\n";
  		  echo "	<td>";
  		  if (is_dir($file))
  		  {
 			 echo "<img src=\"folder.png\" alt=\"[DIR]\" /> <a href=\"$file\">$file</a>";
  		  }
  		  else
  		  {
  			  if (is_file($file))
  			  {
 				 echo "<img src=\"document.png\" alt=\"[FILE]\" /> <a href=\"$file\">$file</a>";
  			  }
  			  else
  			  {
 				 echo "<img src=\"unknown.png\" alt=\"[?]\" /> <a href=\"$file\">$file</a>";
  			  }
  		  }
  		  echo "</td>\n";
 		 echo "	<td>". date("d-M-Y H:i", filemtime($file)) ."</td>\n";
  		  echo "	<td>";
  		  if (filesize($file) >= 0)
  		  {
  			  echo "-";
  		  }
  		  else
  		  {
  			  echo filesize($file);
  		  }
  		  echo "	</td>\n";
  		  echo "  </tr>\n";
  	  }
    }
    closedir($handle);
    echo "</tbody>\n";
    echo "<table>\n";
    echo "<hr /><p>Es sind $i Verzeichnisse und $i Dateien vorhanden.</p>";
  
  ?>
Wenn ich auf einen Ordner klicke zeigt er mir nur “ Forbidden“ an und öffnet diesen nicht.

Ich hoffe mir kann jemand helfen

Das ganze soll zum Schluss so aussehen: http://download.fedora.redhat.com/

GN
 
PHP:
<?php

    $i = 0;
    $j = 0;
    $k = 0;
    $handle = opendir(getcwd());

    $array = array('php' => 'php.png', 'html' => 'html.png');
    #print_r ($array);

    echo "<h3>".dirname(getcwd())."</h3>\n";
    echo "<table summary=\"Verzeichnisstrucktur\" border=\"0\" cellspacing=\"0\" cellpadding=\"3\">\n";
    echo "<caption></caption>\n";
    echo "<thead>\n";
    echo "  <tr>\n";
    echo "    <th>Name</th>\n";
    echo "    <th>Last modified</th>\n";
    echo "    <th>Size</th>\n";
    echo "  </tr>\n";
    echo "</thead>\n";
    echo "<tfoot>\n";
    echo "  <tr>\n";
    echo "    <td></td>\n";
    echo "    <td></td>\n";
    echo "    <td></td>\n";
    echo "  </tr>\n";
    echo "</tfoot>\n";
    echo "<tbody>\n";
    while ($file = readdir($handle))
    {
        if ($file != "." && $file != "..")
        {
            
            echo "  <tr>\n";
            echo "    <td>";
            if (is_dir($file))
            {
             $i++;
             echo "<img src=\"folder.png\" alt=\"[DIR]\" /> <a href=\"$file\">$file</a>";
            }
            else
            {
                if (is_file($file))
                {
                 $j++;
                 echo "<img src=\"document.png\" alt=\"[FILE]\" /> <a href=\"$file\">$file</a>";
                }
                else
                {
				 $k++;
                 echo "<img src=\"unknown.png\" alt=\"[?]\" /> <a href=\"$file\">$file</a>";
                }
            }
            echo "</td>\n";
         echo "    <td>". date("d-M-Y H:i", filemtime($file)) ."</td>\n";
            echo "    <td>";
            if (filesize($file) >= 0)
            {
                echo "-";
            }
            else
            {
                echo filesize($file);
            }
            echo "    </td>\n";
            echo "  </tr>\n";
        }
    }
    closedir($handle);
    echo "</tbody>\n";
    echo "<table>\n";
    echo "<hr /><p>Es sind $i Verzeichnisse, $j Dateien vorhanden und $k unbekannte Dateien.</p>";

  ?>
 
Hi

danke
Ich habe das jetzt so gemacht.
Code:
echo "<h3>". basename(getcwd()) ."</h3>\n";

Nun ist das noch mit der Dateigröße und der Navigation.
echo filesize($file) gibt wenn denn nur 0 aus
Wenn ich auf einen Ordner klicke zeigt er mir nur “ Forbidden“ an und öffnet diesen nicht.

GN
 
Hi,

Nein leider nicht, hier wird ja die Verzeichnisstrucktur nur rekursiv dargestellt.

echo filesize($file) gibt wenn denn nur 0 aus
Wenn ich auf einen Ordner klicke zeigt er mir nur “ Forbidden“ an und öffnet diesen nicht.

GN
 
Hi,

das mit der dem auslesen der Dateigröße habe ich nun hinbekommen.

Fehlt nur noch das Navigieren.


Wenn ich auf einen Ordner klicke zeigt er mir nur “ Forbidden“ an und öffnet diesen nicht.

Hat keinen nen Blick voran das liegt.

PHP:
   <?php
   
     //
     $i = 0;
     $j = 0;
     $k = 0;
     
     $dir = getcwd();
     $handle = opendir($dir);
     
     $array = array('php' => 'php.png', 'html' => 'html.png');
     #print_r ($array);
   
     //
     echo "<h3>". basename(getcwd()) ."</h3>\n";
     //
     echo "<table summary=\"Verzeichnisstrucktur\" width=\"440\" border=\"0\" cellspacing=\"0\" cellpadding=\"3\">\n";
     echo "<caption></caption>\n";
     echo "<thead>\n";
     echo "  <tr>\n";
     echo "	<th>Name</th>\n";
     echo "	<th>Last modified</th>\n";
     echo "	<th>Size</th>\n";
     echo "  </tr>\n";
     echo "</thead>\n";
     echo "<tfoot>\n";
     echo "  <tr>\n";
     echo "	<td></td>\n";
     echo "	<td></td>\n";
     echo "	<td></td>\n";
     echo "  </tr>\n";
     echo "</tfoot>\n";
     echo "<tbody>\n";
     while ($file = readdir($handle))
     {
   	  if ($file != "." && $file != "..")
   	  {
   		  echo "  <tr>\n";
   		  echo "	<td>";
   		  if (is_dir($file))
   		  {
 			 echo "<img src=\"folder.png\" alt=\"[DIR]\" /> <a href=\"$file\">$file</a>";
   			  $i++;
   		  }
   		  else
   		  {
   			  if (is_file($file))
   			  {
 				 echo "<img src=\"document.png\" alt=\"[FILE]\" /> <a href=\"$file\">$file</a>";
   				  $j++;
   			  }
   			  else
   			  {
 				 echo "<img src=\"unknown.png\" alt=\"[?]\" /> <a href=\"$file\">$file</a>";
   				  $k++;
   			  }
   		  }
   		  echo "</td>\n";
 		 echo "	<td>". date("d-M-Y H:i", filemtime($file)) ."</td>\n";
 		 echo "	<td>". file_size($file) ."</td>\n";
   		  echo "	<td>";
   				    if (is_file($file))
   					    {
 						 echo "<a href=\"change_dir.php?action=delete&file=$file\">[del]</a>";
 						 echo " <a href=\"change_dir.php?action=add&file=$file\">[add]</a>";
   					    }
   		  echo "	</td>\n";
   		  echo "  </tr>\n";
   	  }
     }
     closedir($handle);
     echo "</tbody>\n";
     echo "<table>\n";
     echo "<hr /><p>Es sind $i Verzeichnisse, $j Dateien vorhanden und $k unbekannte Dateien.</p>";
     
   ?>

GN
 
Hallo,

habe es nun so gemacht, leider erfolglos.

PHP:
   $dir = getcwd();
     $cwd = getcwd();
     $handle = opendir($dir);
   
     while ($file = readdir($handle))
     {
   	  if ($file != "." && $file != "..")
   	  {
   		  echo "  <tr>\n";
   		  echo "	<td>";
   		  if (is_dir($file))
   		  {
 			 echo "<a href=\"". $cwd ."/". $file ."\">$file</a>";
   			  $i++;
   		  }

GN
 
Auch wenn das nichts mit dem Problem zu tun hat, aber was soll das? :rolleyes:
PHP:
 $dir = getcwd();
     $cwd = getcwd();
Du aenderst $dir nirgends, wofuer brauchst Du dann $cwd, welches Du ja auch nirgends aenderst?
 
Zurück