Problem bei *dir();*

itmpatti

Mitglied
Hallo,
jemand hier im Forum hat mich auf die Funktion dir(); verwiesen.

wenn ich mir mit ner While-Schleife (habe ich auch von ihm) den Inhalt eines Ordners ansehe, fällt mir auf, dass immer ganz oben in der Liste ein Punkt und darunter 2 Punkte hintereinander sind, dann folgen die eingetlichen Dateien.

Wie kann ich diese Punkte wegbekommen?

Das sieht so aus:

.
..
DATEI
DATEI2
DATEI3
DATEI4



Der Befehl:
PHP:
$ordner= dir("./");
while($dateiname=$ordner->read()) {
echo "$dateiname";
}
 
Das ist normal, das ist die Standard-Ausgabe.

Du brauchst nur das Script etwas abzuändern:

PHP:
echo "$dateiname";

wird zu:

PHP:
if ($dateiname != "." || $dateiname != ".."){echo "$dateiname";}

Jetzt dürfte das Script "." und ".." weglassen.

Übrigens "." steht für den Ordner in dem man sich befindet und ".." für den Ordner eine Ebene darunter.
 
danke für deine Hilfe! :-)

und was muss ich in die if-schleife einbauen, damit keine ordner gelistet werden?
 
Zuletzt bearbeitet:
1. Es heißt IF-Abfrage, nicht -Schleife.
2.
PHP:
if ($dateiname != "." || $dateiname != ".." && !is_dir($dateiname)) {
    echo "$dateiname";
}
 
PHP:
if ($dateiname != "." || $dateiname != ".." && !is_dir($dateiname)) {
Wird nicht hinhauen, weil:
Wenn der Dateiname nicht `.' ist (wozu auch `..' gehört) wird die rechte Seite aus-
gelassen und true zurückgegeben.
PHP:
if (($dateiname != '.') && ($dateiname != '..') && !is_dir($dateiname)) {
Sollte klappen. (die Klammern sind nur Stil-Sache, nicht dringend erforderlich.
Siehe auch die PEAR Coding Standards)

Ps:
PHP:
echo "$dateiname";
Für was die Anführungszeichen?
PHP:
echo $dateiname;
Sieht auch besser aus!
 
danke!


.. und kann ich eigentlich eine Datei nach chmod abfragen?
mit ner if-Abfrage?
 
Zuletzt bearbeitet:
Zurück