2014-01-08 2 views
-6

이 PHP 스크립트는 기본적으로 속도 테스트 않습니다. 그것은 완벽하게 작동합니다. 유일한 것은 echo의 텍스트가 MB/s이고 cant가 출력에서이를 제거하는 것 같습니다. 예를 들어 속도 테스트 결과가 23.76 MB/s 인 경우 출력을 23.76으로 지정하고 싶습니다.PHP는 출력에서 ​​특정 텍스트를 제거

도움을 주시면 감사하겠습니다. 나는 이것을 얻기 위해 애쓰는 데 많은 시간을 허비했는데 이것은 내가 생각해 낸 것입니다. 예, 사이트와 Google을 둘러 보았지만 작동하지 않는 것 같습니다. 당신이 Array Deferencing 문제로 실행하는 것처럼

//Speedtest Function 
function get_speedtest() { 
    exec("/usr/bin/wget -O /dev/null http://cachefly.cachefly.net/1mb.test 2>&1",$output); 
     end($output); 
     $a=prev($output); 
     if ($start=strpos($a, '(')) 
     if ($end=strpos(substr($a,$start+1), ')')) { 
     $b = substr($a, $start+1, $end); 
     echo $b; 
     unset ($a, $b); 
     } else 
echo '0'; 
} 

echo get_speedtest(); 

+1

는 당신이 자신을 아무것도를 시도 없어이야? – Fyntasia

+0

나는 아주 오랜 시간을 보냈다. – Jay

+0

과 코드의 결과는 무엇입니까? –

답변

1

이 좋아하세요 JJ ...

echo $result=explode(' ',get_speedtest())[0]; //"prints" 23.76 

그래서 다음과 같이 할 .... 보인다 ..

$result=explode(' ',get_speedtest()); 
echo $result[0]; //"prints" 23.76 
+0

구문 분석 오류 : 구문 오류, 예기치 않은 '[', 예상 ','또는 ';' – Jay

+0

구문 분석 오류? 안돼! . 올바르게 친구를 복사 해보십시오. 두 번째 편집을 참조하십시오. –

+0

내가 원한다. 하지만 같은 오류가 발생합니다. 복사하여 붙여 넣기가 잘됩니다. – Jay

0

$b은 문자열이므로 다음과 같이 조작 할 수 있습니다. 매트 또는 당신이 원하는대로 자르십시오.

하나의 해결책은 echo split(' ', $b)[0]

1
  1. 귀하의 get_speedtest() 반환하지 않는 것이 될 것이다.
  2. 는 항상 MB/s의, 내 연결에 대한 예를 들어 나는 200킬로바이트는/s의

<?php 
//Speedtest Function 
function get_speedtest() { 
    exec("/usr/bin/wget -O /dev/null http://cachefly.cachefly.net/1mb.test 2>&1",$output); 
    if(preg_match('/\(([0-9.]+) (..)\/s\)/', $output[count($output) - 2], $m)){ 
     return array('speed' => $m[1], 'unit' => $m[2]); 
    } 
    return array(); 
} 

print_r(get_speedtest()); 
echo "\n"; 
+0

이 마지막 질문에서 최고점을 낼 수 있습니까? -> http://stackoverflow.com/questions/21037414/php-echo-mb-s-speed-test – Jay

관련 문제