Announcement

Collapse
No announcement yet.

ist eine konstante DIRECTORY_SEPARATOR sinnvoll?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ist eine konstante DIRECTORY_SEPARATOR sinnvoll?

    Immer wieder lese ich das einige leute so variablen bzw wenn sie gut sind sogar constanten als Directory Seperator anlegen.
    zb. include ('verzeichniss'.DIRECTORY_SEPARATOR.'unterverzeich niss'.DIRECTORY_SEPARATOR.'datei');
    wenns schlecht ist verwendet man $strSlash statt DIRECTORY_SEPERATOR

    Haltet ihr das für sinnvoll?

    Meiner meinung nach unterstützen alle systeme auf denen php läuft den / als directory Seperator, ja auch Windows. PHP hat auch ne eigene funktion das so anzusprechen. Wenn ich für so elementare zeichen immer ne konstante definiere habe ich bald auch

    CHAT_DEVISION_SIGN
    GREATER_THAN_SIGN
    SMALER THAN SIGN
    MINUS_SIGN
    UNDERSCORE_SIGN
    HTML_CLOSE_TAG_SIGN
    DOLLAR_SIGN
    PARAGRAPH_SIGN
    .....

    kann mir jemand ne sinnvolle begründung für den gebrauch davon liefern ?
    Kann mir jemand ein reproduzierbares beispiel liefern wo die verwendung von / als directory seperator zu problemen führt?

    Ist es evetl am Sinvollsten alle verzeichnisse in einem objekt zu speichern um einzeln auf unterverzeichnisse zuzugreifen ? :-) (nein nimm ich jetzt nicht in die umfrage einer drückt das aus scheiss nachher noch
    2
    Nein das ist bullshit?
    50,00%
    1
    Ja das ist ganz toll
    50,00%
    1

  • #2
    Originally posted by Johny View Post
    kann mir jemand ne sinnvolle begründung für den gebrauch davon liefern ?
    DIRECTORY_SEPARATOR ist fluid: entweder "\" oder "/"

    Originally posted by Johny View Post
    Kann mir jemand ein reproduzierbares beispiel liefern wo die verwendung von / als directory seperator zu problemen führt?
    Xampp (Standardinstallation) unter WinXP. Danach hab ich nämlich gerade bei Google gesucht und bin auf diesen Post gestoßen
    Anscheinend ja. Bisher habe ich das auch nich nicht gesehen.


    Die aufgerufene URL
    http://localhost/subway/browse.php?b...t/////////////
    sollte nach dem ereg_replace()
    [browse] => home/test/test
    ausgeben. Wenn ich mit DIRECTORY_SEPERATOR arbeite, macht sie mir aber
    [browse] => home\test\test

    weshalb ich gerade meine Interpreterklasse umschreiben muss




    Die sollte nämlich alle DIRECTORY_SEPARATOR die nicht zu GET:browse gehören rauskicken - tat sie aber nicht. Wegen dem "\".

    Warum das so ist, weiß ich nicht. Eventuell liegts am localhost. Sollte aber nicht. Weil ich bin ja im http- und nicht im file-Protokoll. Eigentlich.


    Originally posted by Johny View Post
    Ist es evetl am Sinvollsten alle verzeichnisse in einem objekt zu speichern um einzeln auf unterverzeichnisse zuzugreifen ? :-) (nein nimm ich jetzt nicht in die umfrage einer drückt das aus scheiss nachher noch
    Deswegen wirst du trotzdem einen "/" oder einen "\" brauchen.
    Zu OOP: Ich sage "JA!" zu OOP
    Zuletzt editiert von icronosonic; 29.04.2008, 13:39.

    Comment


    • #3
      Unter normalen Umständen (Includes, Datei-/Filesystem Operationen) macht die Verwendung der Konstante DIRECTORY_SEPERATOR eigentlich keinen Sinn.

      Wenn aber mit system() oder exec() Befehle auf Commandozeilenebene ausgeführt werden sollen (Annahme dass die Befehle auch noch Systemunabhängig sind), möchte hier Windows die Pfadangaben als '\'. Beim Zusammenstellen solcher Befehle wäre die Verwendung von DIRECTORY_SEPERATOR noch gerechtfertigt.

      Gruß
      purcaholic

      Comment

      Working...
      X