2011-04-03 15 views
12

मैं एक PHP पृष्ठ कैसे बना सकता हूं जो उपयोगकर्ता की इंटरनेट गति का पता लगाएगा और इसे पृष्ठ पर दिखाएगा? कुछ,PHP में इंटरनेट की गति का पता कैसे लगाएं?

आपकी इंटरनेट की गति ??? केबीपीएस

+0

php स्क्रिप्ट सर्वर में निष्पादित किया गया है, अनुमान है कि उपयोगकर्ता इंटरनेट की गति निर्धारित नहीं करेगा ... बल्कि फ़्लैश या जावा ऐसा करेंगे। –

उत्तर

8

यह पूरी तरह से हो सकता है कि आप जो खोज रहे हैं (बोल्ड हिस्सा पढ़ें), लेकिन मुझे संदेह है कि कुछ और संभव है।

यह स्क्रिप्ट आपके क्लाइंट को 512 KB HTML टिप्पणियां भेजती है। पार्सिंग कि HTML कुल स्थानांतरण समय में जोड़ सकता है, इसलिए इसे अपनी कच्ची डाउनलोड गति के रूप में न लें।

से उद्धरित: PHP Speed test

स्रोत यहाँ है:

http://jan.moesen.nu/code/php/speedtest/index.php?source=1

आशा है कि मदद करता है।

3

उपयोगकर्ता द्वारा आपके सर्वर पर एक फ़ाइल अपलोड करने के द्वारा। फिर आप सेकेंड में बीत चुके समय के साथ फ़ाइल आकार को केबी में विभाजित करते हैं। फिर आप केबी/एस (अपलोड गति) प्राप्त करते हैं।

$kb = round(filesize("file.jpg")/1024); // 500kb 
$time = time() - $start; // 5s 
$speed = round($kb/$time); // 100kb/s 
+1

हालांकि, '$ start' क्या है? –

+0

@ कॉनॉर सिम्पसन जो 'समय()' या समान होगा ... –

-2

वास्तव में संभव नहीं है। PHP सर्वर पक्षीय है, पता लगाने की गति ग्राहक पक्षपातपूर्ण होगा।

आप इसे करने के लिए आसपास के काम मिल सकते हैं, वैसे।

5

उदाहरण के लिए ग्राहक पक्ष पर AJAX अनुरोध समय के द्वारा। इस तरह आप अनुमानित डाउनलोड गति को समझ सकते हैं, लेकिन अपलोड नहीं कर सकते हैं। अपलोड करने के लिए, बड़े AJAX POST अनुरोध भेजकर इसे संभाल सकता है।

jQuery और $.ajax के साथ यह करना बहुत छोटा है।

+0

आपको कॉमकास्ट की पावरबॉस्ट चीज़ जैसी चीजों के लिए केवल खाता लेना होगा। –

+0

मुझे लगता है कि यदि आपने कोड उदाहरण प्रदान किया है तो आपके पास अधिक अपवॉट होंगे। –

0

यह मेरे लिए काम करता है:

$kb=512; 
    echo "streaming $kb Kb...<!-"; 
    flush(); 
    $time = explode(" ",microtime()); 
    $start = $time[0] + $time[1]; 
    for($x=0;$x<$kb;$x++){ 
     echo str_pad('', 1024, '.'); 
     flush(); 
    } 
    $time = explode(" ",microtime()); 
    $finish = $time[0] + $time[1]; 
    $deltat = $finish - $start; 
    echo "-> Test finished in $deltat seconds. Your speed is ". round($kb/$deltat, 3)."Kb/s"; 
    ?> 

मैं here से मिला है।

संबंधित मुद्दे