Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Sprawdzanie OS przez php
Setesh
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 2.10.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Kto wie jak można sprawdzić na jakim systemie operacyjnym jest postawiony serwer www oczywiście za pomocą php ?

Potrzebuje ustawić bezwzględne ścieżki w pliku według systemu operacyjnego np :

jeżeli serwer www postawiony jest na linuxie to ustaw scieżkę :

  1. <?php
  2. $sciezka = "/home/user/me/";
  3. ?>


a jeżeli na windowsie to :

  1. <?php
  2. $sciezka = "c:serwerszablonyserwis";
  3. ?>


chciałem zrobić to sam ale nie daj rady (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Zastanawiałem się nad czymś takim że może uda się odczytać jakaś wartość za pomocą php i wtedy wszystko było by łatwe :

  1. <?php
  2. if($os=="Windows") $sciezka = "/home/user/me/";
  3. else if($os=="Linux") $sciezka = "c:serwerszablonyserwis";
  4. ?>


Niestety ponieważ nie wiem jak to ustawić to to rozwiązanie mi chyba odpada a bardzo go potrzebuję aby nie zmieniać za każdym razem ręcznie ścieżek jak wysyłam z mojego kompa na serwer linuxowy (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował Setesh 7.02.2007, 01:18:14
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://pl.php.net/manual/pl/function.phpinfo.php
zwraca wiele informacji, min. i system. Musisz tylko przeparsowac te dane (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Cienki1980
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Skorzystaj z czegoś takiego:
  1. <?php
  2. $sciezka=realpath(dirname(__FILE__))."/jakis_folder/przypisany_na_stale/";
  3. ?>
Go to the top of the page
+Quote Post
krowal
post
Post #4





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


A tak BTW to nie ma potrzeby zmieniania "/" na "\" przy przechodzeniu na win, ścieżki z "/" są już chyba uznawane za poprawne od czasu WIN ME
Go to the top of the page
+Quote Post
PiotrLegnica
post
Post #5





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 6.07.2005
Skąd: Legnica

Ostrzeżenie: (0%)
-----


http://pl.php.net/php_uname
http://pl.php.net/manual/en/language.const....predefined.php :
DIRECTORY_SEPARATOR
PHP_OS
Go to the top of the page
+Quote Post
Setesh
post
Post #6





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 2.10.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Wykorzystałem to :
  1. <?php
  2. if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') 
  3. {
  4.  $path="c:/www/serwis/";
  5. }else{
  6. $path="/home/users/me/serwis/";
  7.  };
  8. ?>

i działa jak należy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) THX WIELKIE (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował Setesh 7.02.2007, 15:11:06
Go to the top of the page
+Quote Post
Cienki1980
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Tylko pamiętaj, że jak zmienisz serwer będziesz musiał zmienić ten kawałek kodu. To co ja podałem będzie podawało ścieżkę dostępu zawsze odpowiednią.
Go to the top of the page
+Quote Post
Setesh
post
Post #8





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 2.10.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


niby czemu mam zmieniac sciezke (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

a jak to niby bez zmiany zrobić ? :|
Go to the top of the page
+Quote Post
Cienki1980
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Wystarczy, że będziesz chciał za jakiś czas przenieść pliki na inny serwer, albo do innego folderu ... ścieżki się zmienią.
  1. <?php
  2. echo realpath(dirname(__FILE__));
  3. ?>


Zobacz co powyższy kod zwraca i zastosuj. Dzięki temu nie bawisz się w ścieżki, zawsze poda Ci taką jaka powinna być.
Go to the top of the page
+Quote Post
Setesh
post
Post #10





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 2.10.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


eee... fajne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

nie ma to jak mały kod (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

WIELKI THX (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !! OGROMNE (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !! (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) (mały kodzik a ciesze się jak dziecko (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )
Go to the top of the page
+Quote Post
marcini82
post
Post #11





Grupa: Zarejestrowani
Postów: 190
Pomógł: 1
Dołączył: 20.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Sprawdzic system mozna tez tak:
  1. <?php
  2. if (isset($_ENV['OS']) and strstr($_ENV['OS'], 'Windows')){
  3.  // to Windows
  4. }else{
  5. // to nie Windows
  6. }
  7. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 02:15