OS pattern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • OS pattern

    Hi!

    Momentan erstelle ich eine config-datei, die dafür zuständig ist, "noch" nicht vorhandene Kontsanten zu definieren. Ich gehe hier von der PHP Version >= 4.2 aus.

    Als erstes soll das Betriebssystem ermittelt werden und als die Konstante PHP_OS, falls noch nicht vorhanden, defniert werden. Nun will ich aber ermittlen können um welches OS es sich handelt, um von da aus noch weitere Konstante, die von dem OS abhängig sind wie z.B. der Pfad separator oder das Verzeichniss separator etc., zu defnieren. Bis jetzt brauchte ich nur zwischen WIN oder UNIX/Linux basierte Systeme zu unterscheiden. In PHP 5.02 wird nun aber eine weitere Kontante, die PHP_EOL, zur verfügung gestellt, die je nach Betriebssystem das Zeilenende mit "\n", "\r\n" oder "\r" definiert wird.

    Die Frage ist nun, wie lautet das Suchmuster für das Betriebssystem MAC?

    Hier ein Teil von meiner cinfig-datei:
    PHP-Code:
    /* OS überpfüfen */
    if (!defined('PHP_OS')) {
        
    defined('PHP_OS'$_SERVER['SERVER_SOFTWARE']);
    }

    $winOsPattern '/(win|win32|winnt)/i';

    if (
    preg_match($winOsPatternPHP_OS)) {
        
    define('IS_WIN'true);
        
    define('IS_UNIX'false);
    } else {
        
    define('IS_WIN'false);
        
    define('IS_UNIX'true);
    }

    /* Separatoren festlegen */
    if (!defined('PATH_SEPARATOR')) {
        if (
    IS_WIN) {
            
    define('PATH_SEPARATOR'';');
        } else {
            
    define('PATH_SEPARATOR'':');
        }
    }

    if (!
    defined('DIRECTORY_SEPARATOR')) {
        if (
    IS_WIN) {
            
    define('DIRECTORY_SEPARATOR'"\\\\");
        } else {
            
    define('DIRECTORY_SEPARATOR''/');
        }

    cheers
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
    PHP Sicherheit
    PHPUnit[1-2]
    Professionelle Softwareentwicklung mit PHP 5
    Professionelle PHP 5-Programmierung

  • #2
    evtl. das wort "darwin"?

    meines wissens nach hat mac "\r" als zeilenumbruch und "/" als verzeichnis-separator.

    wobei, den gerüchten zufolge, steigt die mac-welt jetzt auf "\n" um.
    Zuletzt geändert von penizillin; 05.12.2004, 18:05.

    Kommentar


    • #3
      Danke für die schnelle Antwort, doch brauche ich konkrete Angaben. Leider habe ich kein MAC zu verfügung, um es selbst testen zu können. Auch wenn ich einen hätte, wär ich mir immer noch nicht zu 100% sicher.

      Der Separator für Verzeichnisse und "Pfade" sind wie im UNIX/Linux gleich, da MAC auf UNIX bzw. FreeBSD Systeme basieren.

      cheers
      Zuletzt geändert von schlimmerfinger; 05.12.2004, 18:09.
      Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
      PHP Sicherheit
      PHPUnit[1-2]
      Professionelle Softwareentwicklung mit PHP 5
      Professionelle PHP 5-Programmierung

      Kommentar

      Lädt...
      X