محاسبه سرعت اینترنت

o_real_love

Well-Known Member
یک مقاله جالب و کمیاب پیدا کردم

لینک کپی رایت در پایین هست:
******************************

سلام خدمت دوستان عزیز ، این بار هم یک مقاله کوتاه و مفید ، یکی از کدهای که بسیار کمیاب می باشد و در اینترنت به سختی پیدا می شود ، کد محاسبه سرعت اینترنت می باشد (مثلا n کیلوبایت در ثانیه) ، که البته روشهای زیادی برای این کار وجود دارد ، در این مقاله می خواهیم یک روش خوب با پی اچ پی رو معرفی کنیم ، که به راحتی بتوانید سرعت اینترنت کاربر خودتان رو بدست بیاورید ، این که بدانید سرعت اینترنت هر کاربرها چقدر می باشد علاوه بر این که به صورت عادی برای نمایش این گزینه مفید می باشد ، می تواند روشی باشد تا شما محتوای با کیفیت بالا را برای کاربران باسرعت بالا و با کیفیت پایین تر را برای دیگر کاربران به نمایش بگزارید و دیگر به روشهای سنتی مجبور نباشید با دو دکمه و انتخاب دستی ، کاربر این کار را انجام دهید و یا اگر مایل هستید از دکمه ها هم استفاده کنید با این کد می توانید به کاربران پر سرعت اعلام کنید که سرعت شما برای بخش با کیفیت مناسب می باشد و… به هر حال این مواردی که ذکر کردم ، تعدادی از موارد استفاده است که شما میتوانید نسبت به پروژه خودتون از این کد به صورتهای مختلف استفاده کنید.
و حالا کد :

PHP:
<?php
$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";
?>
و حالا در ادامه کد را خط به خط تحلیل می کنیم :

خط ۲ : در این خط ما مقداری را تعریف می کنیم که این مقدار برای تست سرعت استفاده می شود (به کیلو بایت) شما می توانید توسط GET و POST این مقدار را تعیین نمایید تا بتوانید در کد خود هر زمان این مقدار را تعیین نمایید.
خط ۳ : این خط برای نمایش شروع کار می باشد و اصلا برای کد لازم نیست و فقط برای نمایش شروع تست در مثال استفاده شده است.
خط ۴ : شروع عملیات Flush ( درباره تابع Flush می توانید در اینجا بخوانید)
خط ۵ : ذخیره زمان شروع در متغییر $time
خط ۶ : تعریف $start به وسیله مقدار های $time
خط ۷ تا ۱۰ : با مقدار $kb تعریف شده اطلاعات ایجاد می کنیم و دوباره ّمush را اجرا می کنید ، این عمل به تعداد $kb تکرار می شود ، در کل در هر بار به مقدار ۱۰۲۴ بایت پد ایجاد می شود که معادل ۱ کیلو بایت می باشد. و عمل کش انجام می شود.
خط ۱۱ : دوباره زمان را ذخیره می کنیم .
خط ۱۲-۱۳ : تفاوت بین شروع و پاین به هنگام سازی ها را بدست می آوریم.
خط ۱۴ : مقدار نهایی را بدست می آوریم و گرد می کنیم و با متن مروبطه نمایش می دهیم ( که شما می توانید از این مقدار برای شروط استفاده کنید و در حالت های مختلف سرعت نتیجه های مختلفی را نمایش دهید)
خوب ، تمام شد ، به همین راحتی بود
icon_wink.gif

باید به این نکته توجه داشته باشید هر چه عدد ۵۱۲ (که در ابتدای کد استفاده شد) بزرگتر باشد ، می بایست نتیجه دقیق تری از سرعت بدست بیاورید ولی زمان بیشتر هم برای اجرای کد صرف خواهد شد
و در بعضی از تنظیمات پی اچ پی output buffering روی On تنظیم شده این باعث می شود که پی اچ پی قبل از هدرها و کوکی ها و …(به جز جابه جایی اطلاعات) اجرا شود و این باعث می شود زمان به درستی محاسبه نشود ، با قرار دادن این گذینه روی Off و در واقع غیر فعال کردن output buffering می توانید به مقداری واقعی تر دست پیدا کنید.
شما می توانید یک مثال را در اینجا مشاهده نمایید
با آروزی موفقیت و پیروزی روز افزون .


کپی رایت از : http://blog.iflashlord.com/1388/07/محاسبه-سرعت-اینترنت-با-پی-اچ-پی/
 

جدیدترین ارسال ها

بالا