Hi,
Du schlägst nun vor, wenn ich dich richtig verstehe, dass realpath() die Angabe E:\shortcut\info.txt (also eine Datei, die gar nicht existiert) auf E:\demo\verzeichnis\info.txt auflösen soll. Mit welcher Begründung?
Nein, schlage ich nicht vor.
Ich schlage vor, dass PHP auf bestimmten Windows-Versionen ...
wenn's um dieses Merkmal geht: Alle Windows-Versionen seit 95.
... einen Dateinamen 'info.txt.lnk' auflöst, so wie die Windows-Shell es tut, nämlich schaut, ob ein gültiger Information-Block dahinter steckt. Wenn ja, soll dem Inhalt dieses Blocks gefolgt werden.
Zum einen ist das nicht ganz richtig: Diese Auflösung geschieht nur, wenn über die Shell (Explorer) eine LNK-Datei geöffnet werden soll - nicht aber bei reinen Verzeichnis-Suchoperationen. Auch bei einer Dateisuche wird ein Link auf ein anderes Verzeichnis nicht aufgelöst.
Zum andern müsstest du, wenn du das verlangst, konsequenterweise ebenso verlangen, dass Funktionen wie readdir() oder glob() die Extensions von den Dateinamen abschneiden, weil das auch das per Default voreingestellte Standardverhalten ist (ungeachtet der Tatsache, dass ich das Unterdrücken der Extensions für Unsinn halte).
Das wäre dann eine OS-typische Handlungsweise. Wieso sollte PHP, dass die Shell ja schließlich nachbilden muss, dies also nicht berücksichtigen?
Ich siedle PHP eher auf dem Niveau einer Anwendung an. Mit welchem gedanklichen Hintergrund stellst du es mit einer grafischen Shell, einem GUI gleich? Da komme ich gedanklich nicht ganz mit.
So long,
Martin
Du kannst dem Leben nicht mehr Tage geben.
Aber dem Tag mehr Leben.