خانه » برنامه نویسی » محاسبه سرعت اینترنت با پی اچ پی

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

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

و حالا کد :

<?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 تکرار می شود ، در کل در هر بار به مقدار ۱۰۲۴ بایت پد ایجاد می شود که معادل ۱ کیلو بایت می باشد. و عمل کش  انجام می شود.
خط ۱۱ : دوباره زمان را ذخیره می کنیم .
خط ۱۲-۱۳  : تفاوت بین شروع و پاین به هنگام سازی ها را بدست می آوریم.
خط ۱۴ : مقدار نهایی را بدست می آوریم و گرد می کنیم و با متن مروبطه نمایش می دهیم ( که شما می توانید از این مقدار برای شروط استفاده کنید و در حالت های مختلف سرعت نتیجه های مختلفی را نمایش دهید)

خوب ، تمام شد ، به همین راحتی بود 😉

باید به این نکته توجه داشته باشید هر چه عدد ۵۱۲ (که در ابتدای کد استفاده شد) بزرگتر باشد ، می بایست نتیجه دقیق تری از سرعت بدست بیاورید ولی زمان بیشتر هم برای اجرای کد صرف خواهد شد

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

Print Friendly, PDF & Email
تگ ها :
پیوند مطلب قبلی
پیوند مطلب بعدی

درباره بهروز پولادرگ

متولد : ۵ مرداد سال ۱۳۶۷ ، حرفه : ادوبی فلش ، برنامه نویسی و طراحی وب ، طراحی گرافیک ، مالتی مدیا ، نرم افزار های تحت وب

ارسال جواب

آدرس رایانامه شما منتشر نخواهد شد.فیلد های اجباری علامت گزاری شده اند *

*

رفتن به بالای صفحه