Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comm.software.webserver > #1245
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Newsgroups | de.comm.software.webserver |
| Subject | Re: [Apache] FancyIndexing mit bytegenauer Size-Angabe? |
| Date | 2018-02-23 23:38 +0100 |
| Organization | PointedEars Software (PES) |
| Message-ID | <3378191.kQq0lBPeGt@PointedEars.de> (permalink) |
| References | (2 earlier) <AABaitALFo0AAItG.A1.flnews@s19.ybtra.de> <5370766.lOV4Wx5bFT@PointedEars.de> <AABajD98VQcAACqD.A1.flnews@s19.ybtra.de> <11034453.O9o76ZdvQC@PointedEars.de> <AABakIoAlM8AAEpl.A1.flnews@s19.ybtra.de> |
Marcel Logen wrote:
> Thomas 'PointedEars' Lahn schrieb:
>>Marcel Logen wrote:
>
>>[Zitat repariert]
>
> Bei mir war da nichts kaputt, IMHO.
Die Markierung der Auslassung von Teilen meines Textes befand sich
auf einer anderen Zitatebene als mein Text; das ist nicht korrekt.
>> DirectoryIndex index index.php /dirlist.php
>>
>><http://httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryindex>
>>
>>Da ich für meine Website schon immer so etwas machen wollte, habe ich aus
>>aktuellen Anlass angefangen, es zu basteln. $DOCUMENT_ROOT/dirlist.php
>>könnte zum Beispiel so aussehen:
>>
>><!DOCTYPE html>
>><html>
>> <head>
>> <meta charset="UTF-8">
>> <title>Contents of <?php
>> chdir($_SERVER['DOCUMENT_ROOT'] . $_SERVER['SCRIPT_URL']);
>
> Diese Zeile verstehe ich nicht.
>
> Warum muß das directory gewechselt werden?
Gute Frage. Das Arbeitsverzeichnis für ein DirectoryIndex-Script ist
offenbar das Verzeichnis, in dem sich das Script befindet; hier also
$_SERVER['DOCUMENT_ROOT']. Das Verzeichnis muss zum betrachteten
Verzeichnis gewechselt werden, damit der Verzeichnispfad nicht bei
jeder Dateioperation (scandir(…), is_dir(…) usw.) wiederholt werden muss.
> Und "SCRIPT_URL" finde ich auf
> <http://php.net/manual/en/reserved.variables.server.php>
> nicht, nur "SCRIPT_FILENAME" und "SCRIPT_NAME".
| $_SERVER is an array containing information such as headers, paths, and
| script locations. The entries in this array are created by the web server.
| There is no guarantee that every web server will provide any of these;
| servers may omit some, or provide others not listed here. […]
$_SERVER['SCRIPT_URL'] ist also Apache 2.4.x-spezifisch, siehe auch
phpinfo(INFO_VARIABLES).
> >Getestet mit Apache 2.4.23-4 und PHP 5.6.33+dfsg-0+deb8u1 (Apache-Modul)
> >unter Devuan GNU+Linux Jessie 1.0.
>
> Ich werde das jetzt wahrscheinlich doch mal testen,
> obwohl ich eigentlich eine solch 'komplexe' Lösung
> nicht im Sinn hatte.
Vielleicht lässt sich da auch was mit SSI machen, aber mir war das zu wenig
flexibel und mit PHP kenne ich mich besser aus.
Inzwischen habe ich das Script weiterentwickelt; man kann das Ergebnis jetzt
zum Beispiel unter <http://PointedEars.de/scripts/> sehen (Schluss mit
diesen Verzeichnislistings aus dem 20./21. Jahrhundert!!1 ;-)).
Ein wesentlicher Optimierungsschritt war
/* for Apache < 2.4 */
$script_url = preg_replace('#[^/]*$#', '', $_SERVER['REQUEST_URI']);
// …
chdir($_SERVER['DOCUMENT_ROOT'] . $script_url);
foreach (scandir('.') as $filename)
{
$is_parent = ($filename === '..');
/*
* Do not list hidden files like .htaccess, but list parent directory
* as Apache does
*/
if (strpos($filename, '.') !== 0 || $is_parent)
{
// …
}
}
--
PointedEars
Zend Certified PHP Engineer <http://www.zend.com/en/yellow-pages/ZEND024953>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.
Back to de.comm.software.webserver | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [Apache] FancyIndexing mit bytegenauer Size-Angabe? Marcel Logen <333200007110-0201@ybtra.de> - 2018-02-19 14:24 +0100
Re: [Apache] FancyIndexing mit bytegenauer Size-Angabe? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-02-19 16:43 +0100
Re: [Apache] FancyIndexing mit bytegenauer Size-Angabe? Marcel Logen <333200007110-0201@ybtra.de> - 2018-02-20 16:32 +0100
Re: [Apache] FancyIndexing mit bytegenauer Size-Angabe? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-02-20 17:50 +0100
Re: [Apache] FancyIndexing mit bytegenauer Size-Angabe? Marcel Logen <333200007110-0201@ybtra.de> - 2018-02-23 22:39 +0100
Re: [Apache] FancyIndexing mit bytegenauer Size-Angabe? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-02-23 23:38 +0100
Re: [Apache] FancyIndexing mit bytegenauer Size-Angabe? Marcel Logen <333200007110-0201@ybtra.de> - 2018-02-24 11:20 +0100
Re: [Apache] FancyIndexing mit bytegenauer Size-Angabe? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-02-24 13:07 +0100
Re: [Apache] FancyIndexing mit bytegenauer Size-Angabe? Marcel Logen <333200007110-0201@ybtra.de> - 2018-02-25 00:11 +0100
Re: [Apache] FancyIndexing mit bytegenauer Size-Angabe? Marcel Logen <333200007110-0201@ybtra.de> - 2018-02-26 00:07 +0100
Re: [Apache] FancyIndexing mit bytegenauer Size-Angabe? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-02-26 02:06 +0100
Re: [Apache] FancyIndexing mit bytegenauer Size-Angabe? abooonorrra753@gmail.com - 2019-05-01 05:08 -0700
csiph-web