ホームページ >バックエンド開発 >PHPチュートリアル >ネットワーク速度を測定するためのスクリプトをテストしています。何が問題なのかわかりません。
/*==创建将传输给用户的数据文件==*/ $fp=fopen("cs.txt","w"); for($i=0;$i<1704000;$i++){ fwrite($fp,"bandwidthkh"); } fclose($fp);// ==现在编写计算网络速度的脚本=function microtime_float(){ list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}$data=file_get_contents("cs.txt");$start=microtime_float(); $fsize=filesize("cs.txt")/1024; // filesize返回文件大小的字节数echo "向客户端发送" . $fsize . "KB数据<br>"; echo "<!--" . $data . "-->"; $stop=microtime_float();$duration=($stop-$start);echo $duration."s<br>"; $speed=round($fsize/$duration,2); echo "Your network speed:$speed KB/sec";
可能です!
テストしているのは
$fsize=filesize("cs.txt")/1024; // filesize はファイル サイズのバイト数を返します
echo "Send to client" $fsizebed867c5ba9caed85a0069231ad61cd5";
これら 3 つの文の実行速度はネットワーク速度とは関係ありません
microtime(true) は秒数を取得しますfloat 型で
繰り返し不要 microtime_float 関数を書く
以前、ajax を使ってファイルをアップロードしたところ、数秒で数ギガバイトのファイルがアップロードされていたので、ローカルコンピュータをサーバーとクライアントではこの速度は正常です
!
テストしているのは
$fsize=filesize("cs.txt")/1024; // filesize はファイル サイズのバイト数を返します
echo "Send to client" $fsizebed867c5ba9caed85a0069231ad61cd5";
これら 3 つの文の実行速度はネットワーク速度とは何の関係もありません
microtime(true) が取得するのは float 型の秒数です
microtime_float 関数を記述する必要はありません
ネットワーク速度は、データ ブロックが送信されるまでの時間を計算することによって測定されますA to B. 投稿したものは、一方的に計算するコードです
#4は理論的には可能ですが、双方の時計が一致していないと誤差が大きくなります
ajaxを使ってファイルをアップロードしたところ、複数のファイルがアップロードされました数秒でギガバイトがアップロードされたので、ローカルコンピューターをサーバーとクライアントの両方として使用すると、この速度は正常です
以前 ajax を使ってファイルをアップロードしたときは、数秒で数ギガバイトのファイルがアップロードされていたので、ローカルコンピュータをサーバーとクライアントの両方として使用する場合は標準的な速度だと思います
この場合、 インターネット速度だと言えますか?冗談を言わないでください