Der Martin: realpath() unter WinXP funktioniert nicht

Beitrag lesen

Hallo Tom,

Du denkst falsch. Du glaubst nämlich immer noch, ich wolle PHP einen theoretischen Fehler unterstellen. Das will ich gar nicht. Ich sage nur, so wie PHP es im Moment auf Windows löst, ist es unbrauchbar. Das liegt aber an Windows. Windows hat hier dem GUI eine Funktion zugeordnet, die eigentlich in die Windows-API gehört.

okay, so wird ein Schuh draus. Da stimme ich dir hundertprozentig zu.

Nun habe ich versucht, aus Textpad heraus so eine Link-Datei zu öffnen. Das ist ebenfalls nicht möglich, wenn man den Angebotenen Linknamen verwendet. Auch Textpad öffnet dann das verlinkte File...
Das machen die anderen Programme (Photoed, Word, etc.) übrigens auch alle.

Das ist eine Illusion. Die benutzen alle den Dateiauswahl-Dialog, den der Explorer zur Verfügung stellt. Letztendlich ist es also auch hier wieder der Windows-Explorer, der die Funktionalität realisiert, nicht die Anwendung.

Benutzen die nun den richtigen[tm] Interrupt (wäre ja vorstellbar) und PHP benuttz den falschen, oder ist da auch Windows wieder mit der GUI dazwischen?

Letzteres.

Ich bin mir da unsicher, ob der Apache und PHP in der Windows-C-API wirklich den "richtigen" Interrupt (oder eben das richtige ASM/C/C++-Makro) benutzen.

Apache und PHP benutzen hier tatsächlich *direkt* das Windows-API, das von sogenannten Verknüpfungen in Form von LNK-Dateien nichts "weiß". Anders sieht es mit "echten" Dateisystem-Links auf NTFS-Volumes aus, die man mit dem fsutil-Tool anlegen kann - die werden auch direkt über das Filesystem-API aufgelöst.

So long,
 Martin

--
Elefant zum Kamel: "Sag mal, wieso hast du denn den Busen auf dem Rücken?"
Kamel:             "Ziemlich freche Frage für einen, der den Penis im Gesicht hat."