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 ":". Zitieren
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... Zitieren
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 Zitieren
etreu Geschrieben 12. Juli 2004 Geschrieben 12. Juli 2004 Wie genau solls denn sein? <?php echo php_uname(); echo PHP_OS; ?> [/PHP] Zitieren
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] Zitieren
ShoAn Geschrieben 12. Juli 2004 Geschrieben 12. Juli 2004 wie wärs mit <?php echo $_ENV["OS"]; ?>[/PHP] Zitieren
kills Geschrieben 12. Juli 2004 Autor Geschrieben 12. Juli 2004 Die Lösung meines Problems, habe ich in meinem letzten Post geschrieben Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.