Jump to content
php.lv forumi

ar php noteikt cita servera up ātrumu


No0ne

Recommended Posts

Tātad interesē noteikt augšuplādes ātrumu konkrētajā brīdī serverim, uz kura glabājas faili. Nu, pieņemsim, pārbaudīt vai no servera fails nāk ar vismaz 100kb/s. Un lai nebūtu jāvelk visu lielo failu, gribētos nolimitēt curl uz 50mb, lai pēc tam pārtrauc lejuplādēt.

 

Mēģināju šādi:

 

$writefn = function($ch, $chunk) {
 static $data='';
 static $limit = 500; //500 baiti
 $len = strlen($data) + strlen($chunk);
 if ($len >= $limit ) {
$data .= substr($chunk, 0, $limit-strlen($data));
echo strlen($data) , ' ', $data;
return -1;
 }
 $data .= $chunk;
 return strlen($chunk);
};
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $curl_url); //faila url
curl_setopt($ch, CURLOPT_RANGE, '0-500');
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($ch, CURLOPT_WRITEFUNCTION, $writefn);
$result = curl_exec($ch);
curl_close($ch);
fwrite($fp, $data);
fclose($fp);
$bytes = 10253413 / 1048576; // 6576848=filesize || 1048576=how many bytes in a mb
$time_end = microtime(true);
$time = $time_end - $time_start;
$mbps = $time / $bytes;

echo 'MBps: '.$mbps;
   	clearstatcache();

nu un pirmkārt jau tur kaut kāda mistika notiek ar baitiem.

 

kad uzlieku 5 baitus, tad attēlo 1 ciparu, ok pieņemsim, ka tie 4 ir kaut kam domāti, kurus neparāda, ttas it kā mani neuztrauc, bet, starp 5-500 baitiem viss ir ok, bet, ja es teiksim uzliek 505 baitus, tad man vispār nekas nenotiek.

 

Tā varētu būt servera vaina? Un, ja jā, tad kas pie tā vainīgs.

 

Ja nē, tad gribētu dzirdēt kā šo realizēt!

 

Tātad lejuplādējam failu, pārtraucam tā lejuplādēšanu pie 50mb un skatamies/rēķinam ar cik tas ir vilcies.

Link to comment
Share on other sites

CURLOPT_RANG iestāda headeri, tātad to ir jāatbalsta serverim.

Savukārt otrs ierobežojums tev ir $writefn funkcijā un tur tu ierobežo skatot izmēru nolasītajiem datiem - tas ir uzlikts 500.

Es zinu, kas tur ir, bet tas galīgi nedarbojas kā vajag. Star citu tas CURLOT_RANG ir tizlākais headeris ever, 3 lapaas meginaju, visas 3 ignoreja so jaukumu.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...