Moin!
Dirname ist also nicht geeignet, aus einer Angabe, von der ich nicht weiß, ob sie nur eine Datei, ein Verzeichnis oder einen vollständigen Pfad zur Datei enthält, das Verzeichnis zu bestimmen.
dirname() ist eine Stringfunktion, keine Dateisystemfunktion. Sie prüft nicht, ob das übergebene Argument real existiert und welchen Typ im Dateisystem es hat.
dirname('/irgendein/pfad/name') muß zwingend /irgendein/pfad ergeben, egal ob name nun ein Verzeichnis oder eine Datei ist, weil beide identisch gehandhabt werden - Verzeichnisse sind nur Dateien mit besonderem Inhalt.
Wenn du wissen willst, ob das Ziel der Pfadangabe irgendwas bestimmtes ist, solltest du mit den is_*-Funktionen arbeiten - das erfordert dann aber Zugriff aufs lokale Dateisystem - dirname() hingegen funktioniert mit allen möglichen Strings.
- Sven Rautenberg