Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    New Coder
    Join Date
    Oct 2007
    Posts
    26
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Unhappy using the array_unique function

    Hi Im trying to work out unique page visits within my script from my server log files. So far I can calculate the page views, but not the UNIQUE page views.

    I belive I need to use the array_unique function, but I can't get it to work.

    Can anyone help me??

    Here is my code:
    PHP Code:
    <?php

    $filename 
    'logs/''ex'date('ymd'). '.log'// Filename Checker

            
    $fp fopen($filename"r"); //Open the server log
            
    $content fread($fpfilesize($filename));     // Read the server log   
            
    $content explode("\n"$content); // explode into array   
            
    $content  array_reverse($content ); // reverse the array
            
    $n =0;
            
    $n2 =0;
            foreach (
    $content as $key=>$value)
            {
    //strip out all this stuff we dont want
                
    $weberror substr($value, -183); //strip lines beginning with 400/401/403/404/503
               
                
    $findme   'Googlebot';
                
    $googlebot strpos($value$findme);
               
                
    $findme1   'picsearch.com/bot';
                
    $picsearch strpos($value$findme1);

                
    $findme5   '.gif';
                
    $gif strpos($value$findme5);

                
    $findme6   '.jpg';
                
    $jpg strpos($value$findme6);

                
    $findme7   '.txt';
                
    $txt strpos($value$findme7);

                
    $findme8   '.swf';
                
    $swf strpos($value$findme8);

                
    $findme9   '.dll';
                
    $dll strpos($value$findme9);

                
    $findme10   '.asp';
                
    $asp strpos($value$findme10);

                
    $findme11   '.png';
                
    $png strpos($value$findme11);

                
    $findme12   '.css';
                
    $css strpos($value$findme12);

                
    $findme13   '.ico';
                
    $ico strpos($value$findme13);
               
                
    $findme14   '.js';
                
    $js strpos($value$findme14);

                
    $findme16   'msnbot';
                
    $msnbot strpos($value$findme16);

                
    $findme17   'gigablast.com/spider.html';
                
    $gigaspider strpos($value$findme17);

                
    $findme18   'InternetSeer.com';
                
    $internetSeer strpos($value$findme18);

                
    $findme19   '+Slurp';
                
    $yahoo strpos($value$findme19);

                
    $findme20   '....../1.0+';
                
    $msnsneakbot strpos($value$findme20);
               
               
               
                    if (
    $weberror != "400" && $weberror != "401" && $weberror != "403" && $weberror != "404" && $weberror != "503" && $googlebot === false && $picsearch === false && $msnbot === false && $gigaspider === false && $internetSeer === false && $yahoo === false && $msnsneakbot === false && $gif === false && $jpg === false && $txt === false && $swf === false && $dll === false && $asp === false && $png === false && $css === false && $ico === false && $js === false)
                    {

                                
    //now we have stripped explode
                               
                            
    $bits explode(" "$value);
                            @
    $request $bits[5];
                            @
    $log_client $bits[9];
                           
                            
    $log_clientvar explode("\n"$log_client);                       
                            
    $result array_unique($log_clientvar);
                           
                   
    //search for string to find page views for this page
                            
    $find 'booked/excursions/';
                           
                            if (
    strpos($request$find) == true )
                            {
                            
    print_r("$request<br/>");
                            
    $n++;
                            }
                           
    //Surely I should work out unique page views here???

                    
    }
                   
                    else
                    {
                    }

            }               
                    echo 
    "<br/>Page views for '$find' = $n<br/><br/>";
                    echo 
    "Unique page views for '$find' = $n2";
    fclose($fp);           

    ?>

  • #2
    New Coder
    Join Date
    Oct 2007
    Posts
    26
    Thanks
    0
    Thanked 0 Times in 0 Posts
    ahhh... I have solved my problem. But thanks anyway!


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •