Here's some php I wrote to calculate Steam Community IDs using php's basic math functions.
(No php extensions required )
PHP Code:
//Get SteamID and save it to $steam_id somehow
<?php
$steam_id=strtolower($steamid);
if (substr($steam_id,0,7)=='steam_0') {
$tmp=explode(':',$steam_id);
}
if ((count($tmp)==3) && is_numeric($tmp[1]) && is_numeric($tmp[2])){
//The 'Magic Number': 76561197960265728
//Split up so it can be calculated without an extension.
$steamidCalc=($tmp[2]*2)+$tmp[1]; //Work out step 1
$calckey='1197960265728'; //Second bit of the magic number
$pre='7656'; //First bit of the magic number
$steamcid=$steamidCalc+$calckey; //works out the ending of the steam community ID
By breaking off a few digit, it prevents php from outputting the number using scientific notation.
This does however, mean that this will have to be updated once there are enough steam accounts to make the numbers roll over.