Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#12

Re: [PHP] Verzeichnisse verdoppeln sich in Links nach Umleit

  Alt 6. Dez 2009, 20:11
Zitat von himitsu:
Zitat:
<a href="./Artikel/APIZauberwuerfel.shtml">
Ist das aktuelle Verzeichnis zufällig das Artikel-Vereichnis,
Würde das erklären warum der Ordner vom Browser doppelt genommen wird?

Zitat:
bzw. wie sieht denn die URL der Seite aus?
http://www.michael-puff.de/Artikel/ADS.shtml

Ich habe es etwas umgebaut:
Code:
$path = $_GET['path']; // Ist jetzt path=Artikel
      
   if ((@strpos(strtolower($path), strtolower("privat")) > 0))
   {   
      header('Location: /Privat');
   }   
   
   if ($path == '')
   {
      $path = '.';
   }   
   else
   {
      $path = "./".$path;
   }
      
   $dirs = listDirs($path.'/');
   $files = listFiles($path.'/');
   
   if (!file_exists($path))
   {
      header('Location: '.$path);
   }   
   
   if ($path != ".")
   {
      foreach($defaultPages as $file)
      {
         if (file_exists($path."/".$file))
         {
            header('Location: '.$path."/".$file);
            exit;
         }
      }
   }   
   
   if ($path != '.')
   {
      echo '

[b]Inhalt von: '.str_replace("./", "", $path).'[/b]</p>';
   }
Code:
$path = str_replace("./", "", $path);
            echo '<table class="noborder">';
            if ($path != '.')
            {
               echo "<tr><td class=\"noborder\"><a href=\"/index.php?path=".$parentDir."\">..</a></td><td class=\"noborder\"></td><td class=\"noborder\"></td></tr>\n";
            }
            foreach ($dirs as $dir)
            {               
               if (!in_array($dir, $forbiddenDirs))
               {      
                  $tmpPath = str_replace(".", "", $path);
                  $link = $tmpPath.'/'.$dir;                  
                  echo "<tr><td class=\"noborder\"><a href=\"index.php?path=.".$link."\">".$dir."</a></td><td class=\"noborder\" align=\"center\">[DIR]</td><td class=\"noborder\" align=\"center\" width=150px>".date("Y-m-d H:i",filemtime("./".$link))."</td><td class=\"noborder\"</td></tr>\n";
               }               
            }
                                 
            foreach ($files as $file)
            {               
               if (!in_array($file, $hiddenFiles))
               {
                  $size = number_format(ceil(filesize("./".$path.'/'.$file) / 1024), 0);
                  echo "<tr><td class=\"noborder\"><a href=\"".$path."/".$file."\">".$file."</a></td><td class=\"noborder\" align=\"right\">".$size."k</td><td class=\"noborder\" align=\"center\" width=150px>".date("Y-m-d H:i",filemtime("./".$path."/".$file))."</td><td class=\"noborder\">".getTitleFromHTML("./".$path."/".$file)."</td></tr>\n";
               }               
            }
            
            echo '</table>';
Allerdings hat sich am Effekt nichts geändert. Es geht immer noch nicht nach dem Redirect.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat