# # Configure options here # # Set the site name first - must match the database entry $sitename="www.osullivan-autos.com"; # Specifies the number of characters for the counter. # So a setting of 6 would start at "000001" # Can be changed without affecting the count. # # If set to 0, it will automatically adjust to display only # the required number of digits (no leading zeroes). $hit_length=6; # X & Y dimensions of the number image files. # They must all be the same size, and called 0.jpg, 1.jpg ... 9.jpg $im_x=20; $im_y=30; # Directory containing image files (relative to local filesystem, not web server) $im_dir="/www/hosting/o/s/www.osullivan-autos.com/htdocs/counter"; # Database definitions (MySQL server) - host, username, password, database name # See end of this file for code to create database. $db_host="localhost"; $db_user="counters"; $db_pass="complex"; $db_name="counters"; # Leave everything else unless you know what you're doing... mysql_connect($db_host, $db_user, $db_pass); mysql_select_db($db_name); $result=mysql_query("SELECT hits FROM counters WHERE site='$sitename'"); $hits=mysql_result($result, 0, hits); if (strlen($hits) > $hit_length) { $hit_length = strlen($hits); } $formatstring="%0" . $hit_length . ".s"; $hits_f=sprintf($formatstring, $hits); $im_0=ImageCreateFromJPEG($im_dir . "/0.jpg"); $im_1=@ImageCreateFromJPEG($im_dir . "/1.jpg"); $im_2=@ImageCreateFromJPEG($im_dir . "/2.jpg"); $im_3=@ImageCreateFromJPEG($im_dir . "/3.jpg"); $im_4=@ImageCreateFromJPEG($im_dir . "/4.jpg"); $im_5=@ImageCreateFromJPEG($im_dir . "/5.jpg"); $im_6=@ImageCreateFromJPEG($im_dir . "/6.jpg"); $im_7=@ImageCreateFromJPEG($im_dir . "/7.jpg"); $im_8=@ImageCreateFromJPEG($im_dir . "/8.jpg"); $im_9=@ImageCreateFromJPEG($im_dir . "/9.jpg"); $whole_width=$hit_length * $im_x; $counter_im=@ImageCreate($whole_width, 30); $i=0; $xpos=0; while ($i < $hit_length) { $thischar=substr($hits_f, $i, 1); $file="im_" . $thischar; if (!@ImageCopy($counter_im, ${$file}, $xpos, 0, 0, 0, $im_x, $im_y)) { $error="yes"; } $xpos=$xpos+20; $i++; } if ($error=="yes") { echo "1 Error!"; } elseif (!@ImageJPEG($counter_im)) { echo "Error!"; } mysql_query("UPDATE counters SET hits=hits+1, misc1='$HTTP_USER_AGENT', misc2='$HTTP_HOST' WHERE site='$sitename'"); # Table definition for MySQL: # CREATE TABLE counters ( # site varchar(255) NOT NULL PRIMARY KEY, # hits int(11) NOT NULL, # misc1 varchar(255), # misc2 varchar(255), # lasthit timestamp(14) NOT NULL, # firsthit timestamp(14) NOT NULL); # # Create counter entries like so: # INSERT INTO counters (site, hits) VALUES ('www.mydomain.co.uk', 1234) # Where 1234 is the number to start counting from (can be 0, of course). ?>