KOMPOOS.NL

detect operating system - PHP

home » php » detect-operating-system.html

sitemap


voorbeeld van de detect operating system procedure

75.18 % windows windows
06.83 % linux linux
06.65 % mac mac
03.06 % android android
02.16 % iphone iphone
01.98 % blackberry blackberry
00.9 % palm palm
03.24 % overigen andere OS

OS bezoekers vandaag

uitleg over de operating system detectie

Deze detectie-procedure is qua code gelijk aan de browser-detectie procedure. Ik verwijs voor de behandeling van de code naar deze pagina. Het enige wat ik hier nog toevoeg zijn de icoontjes van de operating systems. android.png, blackberry.png, iphone.png, palm.png, linux.png, mac.png, windows.png en overigen.png

stylesheet van de OS-detection procedure


<style type="text/css">
        img{
                background:inherit;
                color:#404040}
        .operating_system,.overigen{
                padding:0 0px 0 10px;
                display:inline-block;
                color:#efefef;
                background:#404040;
                width:130px}
        .operating_system{
                padding-bottom:4px;
                text-align:right}
        .witruimte{
                margin-left:8px}
        .overigen{
                font-size:smaller;
                text-align:right}
        .percentage{
                display:inline-block;
                background:#373737;
                color:#efefef;
                width:50px;
                padding-left:10px}
        #operating_system_container{
                padding:20px;
                display:block;
                color:#ffefef;
                background:#404040;
                width:300px}
        #operating_system_container img{
                position:relative;
                top:10px}
</style>

OS detection code voor de body-sectie


<div id="operating_system_container">
<?php
        $agent_array=array();
        $t=time();
        $f=date("Ymd",$t);
        $s="/home/bobik.nl/tel/".$f.".txt";
        if(file_exists($s)){
                $inhoud=(file($s));
                $telbruto=count($inhoud);
                $raw_useragent=array();
                for($i=0;$i<$telbruto;$i++){
                        $pos1=strpos($inhoud[$i],"|^|")+3;
                        $pos3=strpos($inhoud[$i],"|~|");
                        $pos2=($pos3-$pos1);
                        $os_capital=substr($inhoud[$i],$pos1,($pos2));
                        $os=strtolower($os_capital);
                        $browser = "";
                        if(strpos($os,"android")){$browser="android";}
                        else if(strpos($os,"blackberry")){$browser="blackberry";}
                        else if(strpos($os,"iphone")){$browser="iphone";}
                        else if(strpos($os,"palm")){$browser="palm";}
                        else if(strpos($os,"linux")){$browser="linux";}
                        else if(strpos($os,"macintosh")){$browser="mac";}
                        else if(strpos($os,"windows")){$browser="windows";}
                        else {$browser="overigen";}
                        array_push($agent_array,$browser);
                }
        }
        $array_waarden = array_count_values($agent_array);
        $een_procent = (count($agent_array)/100);
        $overigen = 0;
        arsort($array_waarden);
        foreach($array_waarden as $key => $val){
                if($key == "overigen"){
                        $overigen = $val;
                }
                else{
                        if(($val/$een_procent)<10){
                                $extra_nul = "0";}else{$extra_nul = "";
                        }       
                        echo "
                        <span class='percentage'>".$extra_nul. round($val/$een_procent,2)."</span> %  <img width='32' height='32' src='blank.gif' alt='".strtolower($key)."' class='witruimte' id='".strtolower($key)."' />
                        <span class='operating_system'>$key</span>  <br />";
                }
        }
        if(($overigen/$een_procent)<10){
                $extra_nul = "0";}else{$extra_nul = "";
        }       
        echo "
                <span class='percentage'>".$extra_nul.round($overigen/$een_procent,2)."</span> %
                <img alt='overigen' width='32' height='32' id='overigen' class='witruimte' src='blank.gif' />
                <span class='overigen'>andere OS</span><br /><br /><span class='overigen'>OS bezoekers vandaag</span>";
?>
</div>
<script>
        function vertraag_os_images(){
                if(document.getElementById("android")){document.getElementById("android").src="android.png";}
                if(document.getElementById("blackberry")){document.getElementById("blackberry").src="blackberry.png";}
                if(document.getElementById("iphone")){document.getElementById("iphone").src="iphone.png";}
                if(document.getElementById("palm")){document.getElementById("palm").src="palm.png";}
                if(document.getElementById("linux")){document.getElementById("linux").src="linux.png";}
                if(document.getElementById("mac")){document.getElementById("mac").src="mac.png";}
                if(document.getElementById("windows")){document.getElementById("windows").src="windows.png";}
                if(document.getElementById("overigen")){document.getElementById("overigen").src="overigen.png";}
        }
        setTimeout(function(){vertraag_os_images();},1200);
</script>
Gebruik voor alle voorbeelden op de http://kompoos.nl een valide html5 pagina.