Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> fragment zmiennej
musiek86
post
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 22.03.2008

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


Witam mam taki oto skrypt
  1. <?PHP
  2. $uptime=shell_exec("c:/uptime.exe");
  3. echo $uptime;
  4. ?>


Jego wynikiem jest "21:20:19 up 06:36:38, 5 users, boot 2011-08-20 14:43:40, load: 0"

Jak widać zmienna $uptime daje dość sporo informacji, natomiast mnie interesuje wyłacznie to co jest po "up" a przed przecinkiem pierwszym czyli 06:36:38.
Czy jest możliwość by z tej zmiennej wyciągnąć wyłacznie to? Np poprzez przekazanie konkretnego odcinka zmiennej? Jak widac długość tej zmiennej to jak dobrze licze 64 znaki, mozna z niej wyciagnac do innej zmiennej badz wyświetlić wyłacznie znaki od 13 do 20? Jak zapewne zauważyliście sktypt ten wyswietla czas od momentu startu komputera, potrzebuje taki skrypt który pokazałby mi uptime serwera windowsowego na którym jest apache 1.3 zainstalowany, co prawda wpisujac http://localhost/server-status mam uptime serwera ale mam także mase innych niepotrzebnych mi rzeczy, a odpowiedniego skryptu znaleźć nie moge bo albo na linuxa albo wymaha php 5.2 lub wyższy.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


substr i sobie wytnij?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
uirapuru
post
Post #3





Grupa: Zarejestrowani
Postów: 182
Pomógł: 9
Dołączył: 30.04.2005

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


wyrażenia regularne dobre na wszystko smile.gif
Kod
$string = '21:20:19 up 06:36:38, 5 users, boot 2011-08-20 14:43:40, load: 0';
$regex  = '/up (\d\d:\d\d:\d\d),/';

preg_match($regex,$string,$wynik);

var_dump($wynik[1]);


u mnie zwraca

Kod
string '06:36:38' (length=8)
Go to the top of the page
+Quote Post
musiek86
post
Post #4





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 22.03.2008

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


No oki ale to wyrazenie bedzie sie zmieniało w zaleznosci od czasu, każde odświeżenie strony bedzie dawało inny wynik wiec nie moge zrobic czegos takiego
  1. $string = '21:20:19 up 06:36:38, 5 users, boot 2011-08-20 14:43:40, load: 0';


Rozumiem ze jest to tak:
  1. $rest = substr("abcdef", 2, -1); // returns "cde"


A czy moge to sklepac w sposób nastepujący:

  1. <?PHP
  2. $uptime=shell_exec("c:/uptime.exe");
  3. $rest = substr("$uptime", 12, 21);
  4. echo $rest;
  5. ?>


Ten post edytował musiek86 21.08.2011, 12:55:16
Go to the top of the page
+Quote Post
uirapuru
post
Post #5





Grupa: Zarejestrowani
Postów: 182
Pomógł: 9
Dołączył: 30.04.2005

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


Eh, dałem Ci przykład który musisz sobie dostosować, podpowiem Ci: zamiast $string daj $uptime wink.gif
Go to the top of the page
+Quote Post
musiek86
post
Post #6





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 22.03.2008

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


Poradziłem sobie, wyglada to mniej wiecej tak:
  1. <html>
  2. <META http-equiv="Refresh" content="1">
  3. </html>
  4. <?PHP
  5. $uptime=shell_exec("c:/uptime.exe");
  6. $wynik = substr("$uptime", 25, 74);
  7. echo $wynik;
  8. ?>

W każdym razie spełnia to moje wymagania, dziekuje za pomoc wink.gif
Go to the top of the page
+Quote Post
uirapuru
post
Post #7





Grupa: Zarejestrowani
Postów: 182
Pomógł: 9
Dołączył: 30.04.2005

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


Jeśli chcesz skrócić, może być tez:

Kod
<?= substr(shell_exec("c:/uptime.exe"), 25, 74); ?>


smile.gif

Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 08:28