kills Geschrieben 8. Juli 2004 Geschrieben 8. Juli 2004 Hallo zusammen, ich suche eine Möglichkeit per PHP herauszufinden, welches Betriebsystem auf dem Server installiert ist. Ich möchte abhängig davon den Include_path setzen, da dieser bei Windows mit ";" seperiert ist und bei UNIX mit ":".
forTeesSake Geschrieben 8. Juli 2004 Geschrieben 8. Juli 2004 hmm, nen befehl kenne ich nicht, aber VIELLEICHT nen workaround. schau doch ob ne phpinfo.php auf dem server existiert. wenn nicht, schreib die ausgabe der phpinfo() function in ne neu zu ertsellende datei phpinfo.php und parse dir dort irgendiwe das betriebssystem aus der System textzeile raus. vielleicht hilfts, wie gesagt nen befehl habe ich dafür noch nicht gesehn...
tobias-digital Geschrieben 8. Juli 2004 Geschrieben 8. Juli 2004 Hi! Quick'n'Dirty: ob_start(); phpinfo(INFO_MODULES); $string = ob_get_contents(); ob_end_clean(); $pieces = explode("<h2", $string); $settings = array(); foreach($pieces as $val) { preg_match("/<a name=\"module_([^<>]*)\">/", $val, $sub_key); preg_match_all("/<tr[^>]*> <td[^>]*>(.*)<\/td> <td[^>]*>(.*)<\/td>/Ux", $val, $sub); preg_match_all("/<tr[^>]*> <td[^>]*>(.*)<\/td> <td[^>]*>(.*)<\/td> <td[^>]*>(.*)<\/td>/Ux", $val, $sub_ext); foreach($sub[0] as $key => $val) { $settings[$sub_key[1]][strip_tags($sub[1][$key])] = array(strip_tags($sub[2][$key])); } foreach($sub_ext[0] as $key => $val) { $settings[$sub_key[1]][strip_tags($sub_ext[1][$key])] = array(strip_tags($sub_ext[2][$key]), strip_tags($sub_ext[3][$key])); } } if (strpos($settings['']['PATH '][0], ';')) { echo 'Windows'; } else { echo 'Unix'; } [/PHP] Gruß Tobias
etreu Geschrieben 12. Juli 2004 Geschrieben 12. Juli 2004 Wie genau solls denn sein? <?php echo php_uname(); echo PHP_OS; ?> [/PHP]
kills Geschrieben 12. Juli 2004 Autor Geschrieben 12. Juli 2004 wie gesagt, ist nur um den seperator für den include dir zu setzen. habe mich hier bedient: Example 2. A few OS related constant examples <?php // *nix echo DIRECTORY_SEPARATOR; // / echo PHP_SHLIB_SUFFIX; // so echo PATH_SEPARATOR; // : // Win* echo DIRECTORY_SEPARATOR; // \ echo PHP_SHLIB_SUFFIX; // dll echo PATH_SEPARATOR; // ; ?> [/PHP]
ShoAn Geschrieben 12. Juli 2004 Geschrieben 12. Juli 2004 wie wärs mit <?php echo $_ENV["OS"]; ?>[/PHP]
kills Geschrieben 12. Juli 2004 Autor Geschrieben 12. Juli 2004 Die Lösung meines Problems, habe ich in meinem letzten Post geschrieben
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden