8. Juli 200421 j 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 ":".
8. Juli 200421 j 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...
8. Juli 200421 j 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
12. Juli 200421 j 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]
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.