Hi,
ich habe eine entwas eigenartige konstellation...
erstmal bisschen code:
wenn ich in dem script die grafikfunktionen auskommentiere und die 2 echo-zeilen aktiviere funktioniert der counter wie gewünscht. Wenn ich aber den string als Grafik ausgeben will wird in 2er Schritten gezählt und immer 1 weniger angezeigt als in der Datei steht. jemand eine Idee?
Gruß Frank
ich habe eine entwas eigenartige konstellation...
erstmal bisschen code:
PHP-Code:
<?php
$fb=fopen("counter.dat","r+");
$cnt=intval(fgets($fb));
// if (!$_COOKIE["counter"])
// {
$cnt+=1;
setcookie("counter","1",time()+3600*24);
//$fb = fopen("counter.dat","w");
fseek($fb,0);
fputs($fb, $cnt);
// }
fclose($fb);
$imgpath='./counterimg/';
$digits=array(
0=>imagecreatefromgif($imgpath.'0.gif'),
1=>imagecreatefromgif($imgpath.'1.gif'),
2=>imagecreatefromgif($imgpath.'2.gif'),
3=>imagecreatefromgif($imgpath.'3.gif'),
4=>imagecreatefromgif($imgpath.'4.gif'),
5=>imagecreatefromgif($imgpath.'5.gif'),
6=>imagecreatefromgif($imgpath.'6.gif'),
7=>imagecreatefromgif($imgpath.'7.gif'),
8=>imagecreatefromgif($imgpath.'8.gif'),
9=>imagecreatefromgif($imgpath.'9.gif'),
);
$dw=imagesx($digits[0]); //digit-width
$dh=imagesy($digits[0]); //digit-height
$px=2; //spacing (left/right)
$py=2; //spacing (top/bottom)
$dc=8; //digit-count
$str_wert = sprintf ("%0".$dc."d", $cnt);
//echo $str_wert."<br>\n\n";
header ("Content-type: image/gif");
$iw=$dc*$dw+(2*$px);
$ih=$dh+(2*$py);
$im = @ImageCreate ($iw, $ih) or die ("Kann keinen neuen GD-Bild-Stream erzeugen");
$bgColor = ImageColorAllocate ($im, 255, 0, 0);
imagefilledrectangle($im,0,0,$iw,$ih,$bgColor);
for ($start=1;$start<=8;$start++)
{
//echo intval($str_wert{$start-1})."\n";
imagecopy($im,$digits[intval($str_wert{$start-1})],($start-1)*$dw+$px,$py,0,0,$dw,$dh);
}
ImageGIF ($im);
imagedestroy($im);
foreach($digits as $img)
{
imagedestroy($img);
}
?>
Gruß Frank
Kommentar