07. 06. 2005. | #1 |
profesionalac
Professional
|
Videti OS iz PHP-a
Kako tako neka sitnica moze da me ubije...
Pitanje: Kako da iz PHP-a vidim na kom operativnom sistemu se vrti PHP? Treba mi zbog newline-a, pa bi napravio metodu u klasi koja bi na osnovu OS-a odredjivala new line... |
07. 06. 2005. | #2 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Mozda postoji i neki laksi nacin, ali jedino sto meni pada na pamet je parsovanje _SERVER["SERVER_SOFTWARE"] variable.
Ona sadrzi potpis Web servera zajedno sa platformom na kojoj se izvrsava. Tako recimo za Apache 2 Windows imas: Apache/2.0.52 (Win32) PHP/4.3.9 dok je na Linuxu recimo: Apache/1.3.33 (Unix) PHP/4.3.10 mod_ssl/2.8.22 OpenSSL/0.9.7b Tako da, imas \n (*nix) ili \r\n (Win) na kraju linije. Obrati paznju i na Mac-a kod koga je \r za kraj linije. |
07. 06. 2005. | #3 |
Python Ambassador
Master
|
Hmm, postoje 3 "standardna" načina za prelazak u novi red:
1. DOS/Windows - "\r\n" 2. Mac - "\r" 3. Linux - "\n" Željeni rezultat: Linux format - "\n". Rešenje: 1. Kôd:
search_and_replace($source, $search_pattern="\r\n", $replace_pattern="\n") 2. Sada treba srediti Mac -> Linux format Kôd:
search_and_replace($source, $search_pattern="\r", $replace_pattern="\n") Kada ne koristiti ovo rešenje: Ako smo već upoznati u kom formatu se nalazi tekst, onda treba izbaciti nepotrebne zamene, prvenstveno zbog dužine trajanja ove operacije kod dužih stringova. Za lenštine PHP kôd:
__________________
Python Ambassador of Serbia Poslednja izmena od Petar Marić : 07. 06. 2005. u 19:06. |
07. 06. 2005. | #4 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
@Blue Ice
Lepo objašnjenje, samo čovek nije pitao kako da konvertuje mac ili win eol u *nix već kako da otkrije na kom OS-u trči PHP. |
07. 06. 2005. | #5 |
profesionalac
Professional
|
Hvala Dinke, to je najbolje (mada jedino) rešenje...
Jel znaš možda šta prijavljuje Mac? |
20. 06. 2005. | #6 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Apache/1.3.33 (Darwin) PHP/4.3.10
Ovo je apache 1.3.x i PHP 4.1.10 na Darwin-u. Moguce je da je za druge verzije Mac OS-a i drugaciji potpis. |
31. 08. 2005. | #7 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Sasvim slučajno gledajući manual naleteh na ovo:
http://www.php.net/manual/en/reserved.constants.php Dakle, za potpuno pouzdanu informaciju o OS-u koristi se PHP_OS constanta. Probao na XP-u i Linuxu. Za xp vrednost konstante je "WINNT" a za Linux je "Linux". Tu je čak i PHP_EOL konstanta koja verovatno sadrži eol samog os-a. |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
[REŠENO] Kako videti procenat IE6 u Google Anayliticsu videti u funkciji vremena? | kaizen | Sva početnička pitanja | 3 | 24. 04. 2009. 13:06 |