Soldato
.... or CODE & /CODE
Much clearer now
Much clearer now
I'll do that once someone else has verified that my changes work.Originally posted by TrUz
EDIT: Just spotted the sticky isnt locked, Mark rekon you could post your updated version straight into the sticky?
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo "<p>Hello World</p>"; ?>
</body>
</html>
Originally posted by LeakyMeat
Ive been intrigued by this thread.
I havent a clue about php, and would like to have a go at adding my wu count to my sig also. Would anyone know if ntlworlds homepage servers have php enabled for me to host 1.
I dont want this to seem like a roundabout way of asking someone to do all the work and host one for me (although that would be sweet). Would be self gratifieing if I could do it myself.
<?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: http://forums.overclockers.co.uk/forumdisplay.php?&forumid=39
//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://www.digital-designs.biz/seti/truz/truz.jpg";
$UpdatePeriod=900; //Maximum frequency in seconds at which the script will poll Berkeley
//Setup Variables For Webspace - Must be absolute paths
$LocalFile="/home/www/digitalth/seti/truz/WUTotal.dat";
$FontFile="/home/www/digitalth/seti/fonts/disco___.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);
}
?>
That's because I used your script as a starting point. I assume my version still works.Originally posted by TrUz
ooooo all setup for me...