Unsichtbare Elemente im Verzeichnis?

radarin

Angesehenes Mitglied
Hallo Liste
Beim Austesten der Funktionen im Zusammenhang mit Verzeichnissen und Files bin ich auch ein unerklärliches Phänomen gestossen.

CODE
$pfad="./";
$verz=opendir ($pfad);
while ($file=readdir($verz))
{
if (filetype($pfad.$file)!="dir")
{
$i++;
echo "$file<br>";
}
}
closedir($verz);



Dieser Code listet mir alle Files innerhalb des Verzeichnisses auf. Ändere ich 'filetype($pfad.$file)=="dir"' sollten also nur die Verzeichnisse aufgelistet werden. Dabei erhalte ich aber auch 2 Einträge, die weder Verzeichnisse noch File sind. Ein Eintrag besteht aus einem Punkt, der Zweite aus zwei Punkten.

bilder
.
..
index.php
config.inc

Das FTP Program zeigt aber keine solchen Elemente an. Woher kommt das? Muss ich diese Einträge über IF-Abfragen eliminieren..?
 
Unter Windows (und aus DOS) sind das quasi Shortcuts, also Verknüpfungen, oder auch Pointer, zum aktuellen und zum übergeordneten Verzeichnis. Der Punkt (.) bedeutet "das aktuelle Verzeichnis" und der Punkt Punkt (..) meint das übergeordnete Verzeichnis. In C:\Windows wäre also "."=c:\windows und ".."=c:\ .

Ob das unter Unix/Linux auch so ist, weiss ich nicht. Aber eigentlich filtern moderne Programmiersprachen das raus, sodass diese Einträge im Code nicht zum Tragen kommen. Wie das mit PHP ist, weiss ich nicht, weil ich brauch kein PHP ;-) Falls es das nicht filtert, musst Du die beiden Einträge halt von Hand rausfiltern.

Griessli
Irene
 
Sowas in die Richtung hab ich vermutet. Scheint unter Linux auch so zu sein und PHP ist nicht modern genug dies selber zu merken. Das krieg ich dann schon noch hin.

Danke für den Tip.
 
Zurück
Oben