AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Verzeichnisse verdoppeln sich in Links nach Umleitung
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Verzeichnisse verdoppeln sich in Links nach Umleitung

Ein Thema von Luckie · begonnen am 6. Dez 2009 · letzter Beitrag vom 8. Dez 2009
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#11

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

  Alt 6. Dez 2009, 20:05
Zitat:
<a href="./Artikel/APIZauberwuerfel.shtml">
Ist das aktuelle Verzeichnis zufällig das Artikel-Vereichnis,
bzw. wie sieht denn die URL der Seite aus?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
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
Ruio

Registriert seit: 6. Nov 2008
89 Beiträge
 
Delphi 2005 Personal
 
#13

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

  Alt 6. Dez 2009, 20:23
Code:
Warning: opendir(./.Developer/~MyLicenses/) [function.opendir]: failed to open dir: No such file or directory in /var/www/l3s11195/html/data/dirlisting.php on line 16

Warning: readdir(): supplied argument is not a valid Directory resource in /var/www/l3s11195/html/data/dirlisting.php on line 19

Warning: closedir(): supplied argument is not a valid Directory resource in /var/www/l3s11195/html/data/dirlisting.php on line 27

Warning: opendir(./.Developer/~MyLicenses/) [function.opendir]: failed to open dir: No such file or directory in /var/www/l3s11195/html/data/dirlisting.php on line 36

Warning: readdir(): supplied argument is not a valid Directory resource in /var/www/l3s11195/html/data/dirlisting.php on line 39

Warning: closedir(): supplied argument is not a valid Directory resource in /var/www/l3s11195/html/data/dirlisting.php on line 47

Warning: Cannot modify header information - headers already sent by (output started at /var/www/l3s11195/html/data/dirlisting.php:16) in /var/www/l3s11195/html/index.php on line 38

Inhalt von: .Developer/~MyLicenses..      


Copyright © Michael Puff
Home | Kontakt | Website durchsuchen | Sitemap
Da geht irgendwas nicht
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

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

  Alt 6. Dez 2009, 20:25
Verfluchter Mist. Ich werde noch mal irre. Bin jetzt wieder beim alten Code. Ich hänge einfach mal die relevanten Dateien an.
Angehängte Dateien
Dateityp: txt index_118.txt (3,2 KB, 1x aufgerufen)
Dateityp: txt dirlisting_114.txt (1,5 KB, 1x aufgerufen)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#15

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

  Alt 6. Dez 2009, 20:39
Ich tippe einfach mal auf folgendes:

Ich gebe http://www.michael-puff.de/Artikel/ in den Browser ein
Der Webserver entdeckt daraufhin einwn DirectoryIndex der nicht im Verzeichnis liegt (sondern auf der obersten Ebene)
Die PHP Seite guckt nun nach und gibt reltive Links zu sich selbst aus. da sie ja im Stammverzeichnis liegt, ist das also "./Artikel/xyz.shtml"
Das kommt nun aber zurück als Antwort auf meine Anfrage nach "http://www.michael-puff.de/Artikel/"
Der Browser findet also unter "http://www.michael-puff.de/Artikel/" einen reltiven Link zu "./Artikel/xyz.shtml"
Der Browser bildet also die aboslute URL "http://www.michael-puff.de/Artikel/./Artikel/xyz.shtml"

So einfach

Lösung: Entweder nicht noch das aktuelle Verzeichnis in den Links mitgeben oder absolute URL verwenden. Btw.: Du kannst im PHP-Script auch herausbekommen, welche URL ursprünglich aufgerufen wurde
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

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

  Alt 6. Dez 2009, 21:25
Ja, genau so wird es wohl passieren. Das mit den absoluten URLs habe ich schon probiert, ist aber irgendwie in die Hose gegangen -- zumindest habe ich es nicht hinbekommen.

Zitat:
nicht noch das aktuelle Verzeichnis in den Links mitgeben
Wie könnte ich das umsetzen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#17

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

  Alt 6. Dez 2009, 21:49
Versuchs mal so:
Code:
foreach ($dirs as $dir)
            {
               echo '<tr>';
               if (!in_array($dir, $forbiddenDirs))
               {                  
                  $link = 'index.php?path=/'.$dir;
                  echo '<td class="noborder">[url="'.$link.'"]'.$dir.'[/url]</td>
                     <td class="noborder" align="center">[DIR]</td>
                     <td class="noborder" align="center" width=150px>'.date("Y-m-d H:i",filemtime($path.'/'.$dir)).'</td>
                     <td class="noborder"</td>';
               }
               echo '</tr>';
            }
                                 
            foreach ($files as $file)
            {
               echo '<tr>';
               if (!in_array($file, $hiddenFiles))
               {
                  $size = number_format(ceil(filesize($path.'/'.$file) / 1024), 0);
                  echo '<td class="noborder">[url="/'.$file.'"]'.$file.'[/url]</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>';
               }
               echo '</tr>';
            }
In den beiden a href hab ich mal das $path entfernt - könnte klappen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

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

  Alt 6. Dez 2009, 21:59
Das hatte ich auch schon mal. Jetzt will er das Verzeichnis /Artikel/ öffnen und das macht opendir nicht mit. Das braucht wohl relative Pfade:
Zitat:
Warning: opendir(/Artikel/) [function.opendir]: failed to open dir: No such file or directory in /var/www/l3s11195/html/data/dirlisting.php on line 16
OK, das habe ich an anderer Stelle korrigiert. Aber den Pfad brauche ich, sonst, sieht der Link so aus: http://www.michael-puff.de/ADS.shtml und das passt natürlich nicht. Da fehlt der Ordner.

Ich weiß jetzt zwar nicht, was ich genau gemacht habe, aber jetzt geht es.

Mist zu voreilig. Habe mich verguckt. Geht doch nicht.

Hat noch jemand eine Idee? Andere schaffen es doch auch.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

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

  Alt 7. Dez 2009, 14:55
Wie müsste ich denn vorgehen, wenn ich meinen bisherigen Quellcode auf absolute Pfade umstellen wollte? Wenn ich den Code sehe, dann dreht sich bei mir nämlich schon alles.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#20

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

  Alt 7. Dez 2009, 16:16
Geht doch gerade wunderbar, oder nicht?

Ansonsten wäre mir noch eingefallen, dass du beim verlinken von Verzeichnissen den vollen Pfad angibt (da dort ja wieder das Skript zum Einsatz kommt) beim verlinken von Dateien aber den relativen Pfad (weil da ja direkt drauf verwiesen wird)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz