Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Directory listings mit PHP und Index Datei (https://www.delphipraxis.net/144347-%5Bphp%5D-directory-listings-mit-php-und-index-datei.html)

Luckie 5. Dez 2009 23:59


[PHP] Directory listings mit PHP und Index Datei
 
Ich mache Directory listings mit PHP. Siehe dazu http://www.michael-puff.de . Jetzt ist es aber so, dass in manchen Ordnern eine Index Datei liegt. Jetzt würde ich gerne bei Ordner, in denen eine Index Datei liegt, diese gerne anzeigen anstatt der Ausgabe eines Directory listings. Zum Beispiel Im Ordner Latex ist das der Fall. Allerdings habe ich keine Idee, wie ich das machen könnte.

Alle Dateien befinden sich in einem Array. Jetzt könnte ich das Array durchgehen und nach einer Index Datei suchen. Nur wie mache ich weiter, wenn ich eine gefunden habe?

Matze 6. Dez 2009 00:12

Re: [PHP] Directory listings mit PHP und Index Datei
 
Da du schreibst, du machst es über PHP, kannst du doch einfach über file_exists() prüfen, ob eine Index-Datei im Verzeichnis ist und den Code fürs Listing einfach nicht ausführen. Oder habe ich dich falsch verstanden?

Falls du das Directory Listing des Apaches nutzt, ist es meines Wissens so, dass es bei einer Index-Datei Directory Listing automatisch deaktiviert wird. Ansonsten kannst du es mit einer .htaccess im jeweiligen Verzeichnis deaktivieren. Also einfach eine .htaccess anlegen bzw. eine vorhandene ergänzen, wenn eine Index-Datei im Verzeichnis liegt:

Code:
Options -Indexes
Grüße, Matze

Luckie 6. Dez 2009 00:14

Re: [PHP] Directory listings mit PHP und Index Datei
 
Zitat:

Zitat von Matze
Da du schreibst, du machst es über PHP, kannst du doch einfach über file_exists() prüfen, ob eine Index-Datei im Verzeichnis ist und den Code fürs Listing einfach nicht ausführen. Oder habe ich dich falsch verstanden?

Genau das ist mein Plan. Nur wie rufe ich die Index Datei in dem Script auf? Ich stehe da gerade auf dem Schlauch.

Namenloser 6. Dez 2009 00:17

Re: [PHP] Directory listings mit PHP und Index Datei
 
Zitat:

Zitat von Luckie
Genau das ist mein Plan. Nur wie rufe ich die Index Datei in dem Script auf? Ich stehe da gerade auf dem Schlauch.

Include?

Matze 6. Dez 2009 00:17

Re: [PHP] Directory listings mit PHP und Index Datei
 
Na so:

Code:
header('Location: index.php');

Luckie 6. Dez 2009 00:31

Re: [PHP] Directory listings mit PHP und Index Datei
 
Zitat:

Zitat von Matze
Na so:

Code:
header('Location: index.php');

Das war's. Das kannte ich nicht.

Bekommt man das noch eleganter hin:
Code:
   if (($path != '.') && (in_array("index.shtml", $files)))
   {
      header('Location: '.$path.'/index.shtml');
   }
   if (($path != '.') && (in_array("index.php", $files)))
   {
      header('Location: '.$path.'/index.php');      
   }

Valle 6. Dez 2009 01:14

Re: [PHP] Directory listings mit PHP und Index Datei
 
Zitat:

Zitat von Luckie
Bekommt man das noch eleganter hin:

So vielleicht?. :-)

Code:
   if ($path != '.') {   
       if (in_array("index.shtml", $files))
           $extension = 'shtml';
       elseif (in_array("index.php", $files))
           $extension = 'php';
      header('Location: '.$path.'/index.' . $extension);
   }
Liebe Grüße,
Valle

Luckie 6. Dez 2009 02:28

Re: [PHP] Directory listings mit PHP und Index Datei
 
Schon besser. Aber wenn ich noch mehr Dateien habe, die ich direkt anzeigen möchte? Ich würde die dann gerne in ein Array schreiben, damit ich das leichter pflegen kann.

Matze 6. Dez 2009 09:17

Re: [PHP] Directory listings mit PHP und Index Datei
 
Zitat:

Zitat von Luckie
Ich würde die dann gerne in ein Array schreiben, damit ich das leichter pflegen kann.

Dann mach's doch. :stupid:

Code:
<?php

// dein Pfad (fuer das vorliegende Beispiel mit abschließendem Slash)
$path = './';

// Array mit den anzuzeigenden Dateien
// 1. Eintrag hat höchste Priorität
$files = array(
   'index.shtml',
   'index.php',
   'index.htm'
);

// Datei-Array durchgehen ...
foreach ($files as $file)
{
   // ... und Datei öffnen, falls vorhanden
   if (file_exists($path . $file))
   {
      header('Location: ' . $path . $file);
      exit;
   }
}

?>
Nur eine von vielen Möglichkeiten.

Grüße, Matze

Luckie 6. Dez 2009 13:50

Re: [PHP] Directory listings mit PHP und Index Datei
 
So was ist mir im Bett dann auch eingefallen. ;) Aber danke trotzdem.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz