Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Format zwracanego testu?, Czyli problem z shell_exec, explode i str_replace.
bwgg
post 26.11.2007, 22:16:57
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 26.11.2007

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


  1. <?php
  2. function pong($ip)
  3. {
  4. $result = shell_exec("ping -c 5 $ip");
  5. return $result;
  6. }
  7.  
  8. $presult = (pong("google.com");
  9. ?>


Mam ci ja taki prosty kawałek kodu. Kiedy sobie później print $presult; wychodzi mi piękny tekst *nixowego pinga. Kiedy jednak chce sobie na $presult trochę podziałać explode i str_replace - nie dzieje się nic.

Ponieważ wszystko pięknie działa, gdy do $result zamiast shell_exec(...) podstawię z palca rezultat pinga doszedłem do wniosku, że rezultat jest zwracany w postaci, której explode i str_replace nie rozumieją i dopiero print przywraca cały tekst do normalnej postaci.

Jak bardzo się mylę i czy da się mi pomóc? Jak "zrzutować" (?) tego resulta do postaci, którą będę mógł obrabiać wspomnianymi funkcjami?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bwgg
post 26.11.2007, 22:25:42
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 26.11.2007

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


  1. <?php
  2. function pong($ip)
  3. {
  4. $result = shell_exec("ping -c 5 $ip");
  5. return $result;
  6. }
  7.  
  8. $presult = pong("google.com");
  9. $ct = explode(" --- ", $presult);
  10. $ct = explode(", ", $ct[2]);
  11. $p_received = str_replace(" received", "", $ct[1]); //ammount of packages which came back
  12. $ct = explode("= ", $ct[3]);
  13. $ct = str_replace(" ms", "", $ct[1]);
  14. $timing = explode("/", $ct); //0 - shortest, 1 - average, 2 - longest, 3 - difference between 0 and 2
  15. ?>


Prosze bardzo. Przypominam, że z normalnym tekstem działa.
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 21:25