Originally posted by Valor
try to avoid any non automatic user...ffence to the numpties that are using it) LOL
Originally posted by Valor
try to avoid any non automatic user...ffence to the numpties that are using it) LOL
Any particular reason for that? I would have thought that you could get at individual user stats much quicker using a simple database than you could by searching lots of individual files (although keeping the CMP files as well isn't a bad idea).Originally posted by kaiowas
I'm actually trying to move away from databases.
Originally posted by Mark G
I would have thought that you could get at individual user stats much quicker using a simple database than you could by searching lots of individual files
Yes, I have, but I don't know what the database structure is, or what's stored, so I can't comment on why it's that slow.Originally posted by kaiowas
Have you compared the loading time of the team table to the other stats?
Originally posted by Mark G
Yes, I have, but I don't know what the database structure is, or what's stored, so I can't comment on why it's that slow.
From what I've seen of MySQL performance (we use it at work), it's pretty quick, so I'm not sure why you're having performance problems with it.
Originally posted by TrUz
Check you have PHP and GD support on your host.
make sure you chmod 777 the directory you wont the .DAT file stored in.
quote site chmod 777 <directory>
Originally posted by TrUz
Check you paths, they must be absolute.
<?php
//Code for overlaying SETI stats over a JPEG or PNG image
//By Phil Cutler (kaiowas) of Team OcUK Oct 2002
//Revised by Mark Gray Apr 2003
//Visit the OcUK team forum: [url]http://forums.overclockers.co.uk/forumdisplay.php?&forumid=39[/url]
//Uses a local file to cache the users total and reduce bandwidth hit on Berkeley
//Setup Variables For Sig
$UserEmail="[email protected]";
$PreText="Team OcUK - Get WU's Or Die Tryin'";
$PostText="WU's owned";
$TextRed=251;
$TextGreen=251;
$TextBlue=251;
$FontSize=12;
$TextX=350;
$TextY=12;
$ImageURL="http://alexanderprice.netfirms.com/images/wasc_sig.jpg";
$UpdatePeriod=900; //Maximum frequency in seconds at which the script will poll Berkeley
//Setup Variables For Webspace - Must be absolute paths
$LocalFile="/www/php/data/WUTotal.dat";
$FontFile="/www/php/data/t.TTF";
if(!file_exists($LocalFile) or !FileMTime($LocalFile) or time()-FileMTime($LocalFile)>$UpdatePeriod)
{
//Get Total Number Of WUs from personal stats page at Berkeley
$fp =@fopen ("http://setiathome.ssl.berkeley.edu/fcgi-bin/fcgi?email=" . $UserEmail . "&cmd=user_stats_new", "r");
if ($fp)
{
while (!feof($fp))
{
$WebPage.=fgets($fp,200);
}
fclose($fp);
if (strpos($WebPage,"No user with that name was found")==0)
{
$TotalStart=strpos($WebPage,"Results Received");
$StartPos=strpos($WebPage,"<td>",$TotalStart)+4;
$EndPos=strpos($WebPage,"</td>",$StartPos);
$WUs=ltrim(rtrim(substr($WebPage,$StartPos,$EndPos
-$StartPos)));
}
else
{
$WUs="User not found.";
}
//Update Local File With Total
$Output = fopen ($LocalFile, "a");
ftruncate ($Output, 0);
fseek($Output,0);
fwrite($Output, $WUs);
fclose($Output);
}
}
//Read Total from Local File
$Local=@fopen ($LocalFile, "r");
$WUs=fgets($Local,200);
fclose($Local);
//Build Text String
$Text=$PreText . "\r\n" . $WUs . " " . $PostText;
//Create Image
$size = ImageTTFBbox ($FontSize, 0, $FontFile , $Text);
$im_x=abs($size[4]-$size[0]);
$im_y=abs($size[5]-$size[1]);
if (substr($ImageURL,strlen($ImageURL)-3,3)=="jpg")
{
//Create a Sig image based on a JPEG
Header("Content-type: image/jpeg");
Header("Expires: " . gmdate("D, d M Y H:i:s", time() + 900) . " GMT");
$im_size = GetImageSize ($ImageURL);
$imageWidth = $im_size[0];
$imageHeight = $im_size[1];
$im = ImageCreateFromJPEG($ImageURL);
$text_color = imagecolorclosest ($im, $TextRed, $TextGreen, $TextBlue);
if ($TextX+$im_x>$imageWidth){$TextX=$imageWidth-$im_x-2;}
if ($TextY>$imageHeight){$TextY=$imageHeight-2;}
imagettftext ($im, $FontSize, 0, $TextX, $TextY, $text_color, $FontFile, $Text);
ImageJpeg ($im);
ImageDestroy ($im);
}
elseif (substr($ImageURL,strlen($ImageURL)-3,3)=="png")
{
//Create a Sig image based on a PNG
Header("Content-type: image/png");
Header("Expires: " . gmdate("D, d M Y H:i:s", time() + 900) . " GMT");
$im_size = GetImageSize ($ImageURL);
$imageWidth = $im_size[0];
$imageHeight = $im_size[1];
$im = ImageCreateFromPNG($ImageURL);
$text_color = imagecolorclosest ($im, $TextRed, $TextGreen, $TextBlue);
if ($TextX+$im_x>$imageWidth){$TextX=$imageWidth-$im_x-2;}
if ($TextY>$imageHeight){$TextY=$imageHeight-2;}
imagettftext ($im, $FontSize, 0, $TextX, $TextY, $text_color, $FontFile, $Text);
ImagePNG ($im);
ImageDestroy ($im);
}
?>
<?php
//Code for overlaying SETI stats over a JPEG or PNG image
//By Phil Cutler (kaiowas) of Team OcUK Oct 2002
//Revised by Mark Gray Apr 2003
//Visit the OcUK team forum: [url]http://forums.overclockers.co.uk/fo...php?&forumid=39[/url]
//Uses a local file to cache the users total and reduce bandwidth hit on Berkeley
//Setup Variables For Sig
$UserEmail="[email protected]";
$PreText="Team OcUK - Get WU's Or Die Tryin'";
$PostText="WU's owned";
$TextRed=251;
$TextGreen=251;
$TextBlue=251;
$FontSize=12;
$TextX=350;
$TextY=12;
$ImageURL="http://alexanderprice.netfirms.com/images/wasc_sig.jpg";
$UpdatePeriod=900; //Maximum frequency in seconds at which the script will poll Berkeley
//Setup Variables For Webspace - Must be absolute paths
$LocalFile="/mnt/web_b/d28/s24/a000ioo2/www/php/data/WUTotal.dat";
$FontFile="/mnt/web_b/d28/s24/a000ioo2/www/php/data/t.TTF";
if(!file_exists($LocalFile) or !FileMTime($LocalFile) or time()-FileMTime($LocalFile)>$UpdatePeriod)
{
//Get Total Number Of WUs from personal stats page at Berkeley
$fp =@fopen ("http://setiathome.ssl.berkeley.edu/fcgi-bin/fcgi?email=" . $UserEmail . "&cmd=user_stats_new", "r");
if ($fp)
{
while (!feof($fp))
{
$WebPage.=fgets($fp,200);
}
fclose($fp);
if (strpos($WebPage,"No user with that name was found")==0)
{
$TotalStart=strpos($WebPage,"Results Received");
$StartPos=strpos($WebPage,"<td>",$TotalStart)+4;
$EndPos=strpos($WebPage,"</td>",$StartPos);
$WUs=ltrim(rtrim(substr($WebPage,$StartPos,$EndPos
-$StartPos)));
}
else
{
$WUs="User not found.";
}
//Update Local File With Total
$Output = fopen ($LocalFile, "a");
ftruncate ($Output, 0);
fseek($Output,0);
fwrite($Output, $WUs);
fclose($Output);
}
}
//Read Total from Local File
$Local=@fopen ($LocalFile, "r");
$WUs=fgets($Local,200);
fclose($Local);
//Build Text String
$Text=$PreText . "\r\n" . $WUs . " " . $PostText;
//Create Image
$size = ImageTTFBbox ($FontSize, 0, $FontFile , $Text);
$im_x=abs($size[4]-$size[0]);
$im_y=abs($size[5]-$size[1]);
if (substr($ImageURL,strlen($ImageURL)-3,3)=="jpg")
{
//Create a Sig image based on a JPEG
Header("Content-type: image/jpeg");
Header("Expires: " . gmdate("D, d M Y H:i:s", time() + 900) . " GMT");
$im_size = GetImageSize ($ImageURL);
$imageWidth = $im_size[0];
$imageHeight = $im_size[1];
$im = ImageCreateFromJPEG($ImageURL);
$text_color = imagecolorclosest ($im, $TextRed, $TextGreen, $TextBlue);
if ($TextX+$im_x>$imageWidth){$TextX=$imageWidth-$im_x-2;}
if ($TextY>$imageHeight){$TextY=$imageHeight-2;}
imagettftext ($im, $FontSize, 0, $TextX, $TextY, $text_color, $FontFile, $Text);
ImageJpeg ($im);
ImageDestroy ($im);
}
elseif (substr($ImageURL,strlen($ImageURL)-3,3)=="png")
{
//Create a Sig image based on a PNG
Header("Content-type: image/png");
Header("Expires: " . gmdate("D, d M Y H:i:s", time() + 900) . " GMT");
$im_size = GetImageSize ($ImageURL);
$imageWidth = $im_size[0];
$imageHeight = $im_size[1];
$im = ImageCreateFromPNG($ImageURL);
$text_color = imagecolorclosest ($im, $TextRed, $TextGreen, $TextBlue);
if ($TextX+$im_x>$imageWidth){$TextX=$imageWidth-$im_x-2;}
if ($TextY>$imageHeight){$TextY=$imageHeight-2;}
imagettftext ($im, $FontSize, 0, $TextX, $TextY, $text_color, $FontFile, $Text);
ImagePNG ($im);
ImageDestroy ($im);
}
?>