PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verzeichnisse mit PHP auslesen


outlaw_wolf
2004-05-06, 22:35:58
Also, mit folgendem Code lese ich mit PHP ein Verzeichnis aus:

<?php
$path="./info/";
$folder = dir($path);
while($datei = $folder->read()) {
echo "<a href=", $path, $datei, ">", $datei, "<br>";
}
$folder->close();
?>


Die Darstellung sieht wie folgt aus:

.
..
263deserteure.pdf
251nachrichtensperre.pdf
244_1alli.pdf
244_2krieg.pdf
245_2angriff.pdf
255zaehlung.pdf
252fid.pdf
253steuern.pdf
245_1spionage.pdf
pdf.php


Ich möchte nicht, das die Verzeichnisverweise anezeigt werden.
Auch sollen die Dateien sortiert werden.
Wer kann mir da helfen???

BlueMaex
2004-05-06, 23:11:11
<?php
$path="./info/";
$folder = dir($path);
while($datei = $folder->read())
{
if(!is_dir())
echo "<a href=", $path, $datei, ">", $datei, "<br>";
}
$folder->close();
?>

so würde es jegliche verzeichnisse auslassen beim durchbrowsen und dann so ausgeben.

und zu der Sache mit dem sortieren. da müsstest du dein script einweg umschreiben zuerst die dateien einlesen, und dann mithilfe von sort oder natsort oder ... sortieren lassen. Danach kannsu die Sachen verlinken und ausgeben.

outlaw_wolf
2004-05-06, 23:25:55
Hmmm,....

So klappt das leider nicht.
Ich bekomme vor jedem Link eine Fehlermeldung.

BlueMaex
2004-05-06, 23:38:13
was denn für eine?

outlaw_wolf
2004-05-07, 00:25:25
Warning: Wrong parameter count for is_dir() in /is/htdocs/37207/www.kabelbrandimherzschrittmacher.de/SpaceBattle/content/test.php on line 14
.

Warning: Wrong parameter count for is_dir() in /is/htdocs/37207/www.kabelbrandimherzschrittmacher.de/SpaceBattle/content/test.php on line 14
..

Warning: Wrong parameter count for is_dir() in /is/htdocs/37207/www.kabelbrandimherzschrittmacher.de/SpaceBattle/content/test.php on line 14
263deserteure.pdf

Warning: Wrong parameter count for is_dir() in /is/htdocs/37207/www.kabelbrandimherzschrittmacher.de/SpaceBattle/content/test.php on line 14
251nachrichtensperre.pdf

Warning: Wrong parameter count for is_dir() in /is/htdocs/37207/www.kabelbrandimherzschrittmacher.de/SpaceBattle/content/test.php on line 14
244_1alli.pdf

Warning: Wrong parameter count for is_dir() in /is/htdocs/37207/www.kabelbrandimherzschrittmacher.de/SpaceBattle/content/test.php on line 14
244_2krieg.pdf

Warning: Wrong parameter count for is_dir() in /is/htdocs/37207/www.kabelbrandimherzschrittmacher.de/SpaceBattle/content/test.php on line 14
245_2angriff.pdf

Warning: Wrong parameter count for is_dir() in /is/htdocs/37207/www.kabelbrandimherzschrittmacher.de/SpaceBattle/content/test.php on line 14
255zaehlung.pdf

Warning: Wrong parameter count for is_dir() in /is/htdocs/37207/www.kabelbrandimherzschrittmacher.de/SpaceBattle/content/test.php on line 14
252fid.pdf

Warning: Wrong parameter count for is_dir() in /is/htdocs/37207/www.kabelbrandimherzschrittmacher.de/SpaceBattle/content/test.php on line 14
253steuern.pdf

Warning: Wrong parameter count for is_dir() in /is/htdocs/37207/www.kabelbrandimherzschrittmacher.de/SpaceBattle/content/test.php on line 14
245_1spionage.pdf

mithrandir
2004-05-07, 08:24:45
Wie wäre es mit:
is_dir($datei)?

Menno, ein ganz klein wenig Mitdenken wäre ab und zu mal schon angesagt. Und wenn man wirklich nicht drauf kommt, hier steht's ja auch: http://phpcenter.de/de-html-manual/function.is-dir.html

bye, mith

outlaw_wolf
2004-05-07, 10:22:28
Ich sitze hier vor einem Buch von Databecker und dem Internet und versuch gerade mir alles selbst beizubringen.

Mit mitdenken ist da leider noch nicht viel. ;)

Aber danke für deine Hilfe.
Jetzt geht es.

mithrandir
2004-05-07, 12:07:07
Ok, Tschuldigung. Manchmal kann ich etwas aufbrausend sein, vor allem morgens ;) Nichts für ungut...

bye, mith

outlaw_wolf
2004-05-07, 12:18:37
Mit viel freundlicher Hilfe sieht es jetzt so aus und funktioniert wie gewünscht.

<?php
$path="./info/";
$path_array=array();
$i=0;
$folder = dir($path);
while($datei = $folder->read())
{
$path_array[$i]=$datei;
$i++;
}

sort ($path_array);
reset($path_array);

foreach ($path_array as $tmp)
{
if(!is_dir($tmp))
echo "<a href=", $path, $tmp, ">", $tmp, "<br>";
}

$folder->close();
?>

outlaw_wolf
2005-02-14, 23:23:07
^^ Schon eine Weile her... :biggrin:

Aber ich habe ein neues Problem.
Ich musste das Ganze nach dem Datum sortieren.
Kann mir da jemand helfen?

Snatch
2005-02-15, 09:13:00
<?php
$path="./info/";
$path_array=array();
$i=0;
$folder = dir($path);
while($datei = $folder->read())
{
$path_array[$i]=$datei;
$i++;
}

sort ($path_array);
reset($path_array);

foreach ($path_array as $tmp)
{
if(!is_dir($tmp))
echo "<a href=", $path, $tmp, ">", $tmp, "<br>";
}

$folder->close();
?>


Wie würde das gehen, das er alle files auch aus den untervereichnissen ausliest und filet mit tn*.* wech lässt ?

Gruß
Snatch

Snatch
2005-02-17, 12:23:30
Wei das keiner ?

Mike
2005-02-17, 13:10:23
Ich würde es wahrscheinlich mit ner rekursiven Funktion lösen.
(Das mit den Unterverzeichnissen)
Das er gewisse Dateien weglässt, ist doch einfach, schau dir mal die preg_match Funktion an..