Q:

how phpmyvisitors works? 

i have installed "phpmyvisitors" cms to get statistics of my sites visits. 
it is written in php and is open source. 
i gets many useful information like:
-total visits
-viewed pages
-visitor browser informations
-visitor distribution over the world
-how visitors access to site
-how much time they spend on sites
and ....
it is some think like Google Analytics.but fewer features. 
my question is:
" how does it do all of them? " 

A:

I assume you mean phpMyVisites? 
At a quick glance, it works very similarly to  Google Analytics: A JavaScript snippet is embedded that sends a request to the server phpMyVisites runs on.  That request contains all information JavaScript can get out of the client: Language, Screen resolution, browser version, OS....
On server side, I assume all that information is collected into a database, and a session cookie is set so different visitors can be told apart. 
For users without JavaScript, an image tag will be included to at least get some basic information (IP and browser type can be found out on server side without JavaScript) and count the hit:
<noscript>
<p>phpMyVisites : better than Google analytics! 
<img src="http://www.phpmyvisites.us/phpmv2/phpmyvisites.php" 
     alt="phpMyVisites" style="border:0" />
</p>
</noscript>

To recognize the country of a visitor, it is possible that a web service is contacted that tries to determine the country based on the visitor's IP address. 
Everything else is "just" database analysis really - analyzing, calculating and presenting the data requested.  If you want to know how a specific aspect of that works, I suggest you ask a new question detailing the aspect you want to know more about. 