Jump to content
php.lv forumi

Ka ar php paliidziibu var noteikt interneta atrumu ?


RaitisRR

Recommended Posts

faila sākumā dabuu mikrotime, uzliec kaadu bildi labaa kvalitaatee diegan pasmagu, tad faila beigaas izvelc microtime, sarekjini starpibu un tad parekjini cik ilga laika tā bilde tika ielādēta attiecībā pret izmēru un zināsi cik kb/sec ir, un ja sareizinaasi ar 8 dabuusi kbps ...

 

<?
if(!isset($_GET['time'])) {
 $start_time=explode(" ",microtime());
 $start_time=$start_time[0]+$start_time[1];
 ?>
 <img src='smags_img.jpg' />
 <?
 $stop_time=microtime();
 $stop_time=$start_time[0]+$stop_time[1];
 $time=$stop_time-$start_time;
 ?>
 <body onload='<?=$_PHP_SELF;?>?time=<?=$time;?>'>
 <?
} else {
 $speed=round(filesize("smags_img.jpg")/$time,2);
 echo "Ātrums = ".$speed." kb/sec<br />";
 $speed=$speed*8;
 echo "Ātrums = ".$speed." kbit/sec<br />";
}

 

kautkas līdzīgs šitam :)

 

bet principā vari pameklēt Bandwidth Meter, tur ar JS/PHP ir sataisīts

Edited by [Ya]
Link to comment
Share on other sites

Vai ta tavs skripts strādās? Es šaubos...

 

drīzāk vajag:

 

$starttime = ....

$randString = 'something';
$randContentLength = strlen($randString);

for ($i=0; $i<1024; $i++)
{
print $randString;
}

$totaltime = $endtime - $starttime;

$speed = round( $randContentLength*$i/$totaltime,2);

Link to comment
Share on other sites

php aizsūta taču tikai html kodu. To ko browseris dara otrā galā, tā jau vairs nav php daļa. A moš klients lieto lynx, kurš vispār neattēlo bildes - tad vispār netiks vilkts tas bildes fails.

Link to comment
Share on other sites

:)

Ar Delfīna kodu izdosies noteikt tikai un vienīgi kaut kādu web servera proča ātrumu nenoteiktās mērvienībās :)

Lai noteiktu savienojuma ātrumu jāizmanto JS, jo tā pati nelaimīgā PHP print() f-ja neizmanto neko citu kā buferi un, kad buferis ir pilns, tikai tad taisa flush un aizsūta klientam tā, ka no tāda cikla tur vispār nav jēgas.

 

Principā pirmais piemērs ideoloģiski ir pareizāks - jālādē ir liela izmēra bilde, klientam (JS) tās izmēru. Pēc tam ar vienkāršām JS funkcijām BODY beforeload un onload eventos jāsarēķina laika starpība. Beigās JS zinās bildes lielumu, sākuma un beigu laiku. Nu un tad jau tikai atliek matemātika ...

 

P.S. Vienīgā nepieciešamība pēc PHP šeit rodas tikai, lai noteiktu bildes/faila izmēru un iedrukātu to JavaScript'ā.

Link to comment
Share on other sites

yep, tagad pamanīju kļūdu..

Mūsdienīgi būtu veikt pieprasījumu ar XmlHttpRequest-u uz lielu failu vai vairākiem mazākiem (50,100,200,500Kb => izrēķināt avarage) (tipa ja lēns pieslēgums, tad nafig viņam kačāt lielo, jo tāpat ir lēns un gaidīs padsmit min.)

Link to comment
Share on other sites

×
×
  • Create New...