====== How to show estats ====== This is the example file **index.php** for showing an estats file with PHP and gd-lib (gfx-lib for php). Please create a temporary directory for the graphics file called **temp**. temp existiert nicht!"; die; } if (!@fopen("temp/foo.bar", w)) { echo "Fehler: Das Verzeichnis temp ist nicht schreibbar!"; die; } if ($_POST[WERT]!="") { $_SESSION[WERT]=$_POST[WERT]; } // Statistik 1 // if ($_SESSION[WERT]=="") { $_SESSION[WERT]=0; } $LEGENDE[0]="The line shows \"".$W[$_SESSION[WERT]]."\""; // Anzahl der Logfileeintraege auf einer Seite // if ($_GET[anz]=="") { $anz=20; } else { $anz=$_GET[anz]; } if ($_GET[anfang]=="") { $_GET[anfang]=$anzahl_gesamt-$anz; } if ($_GET[anfang]<0) { $_GET[anfang]=0; } $offset_minus=$_GET[anfang]-$anz; if ($offset_minus<0) { $offset_minus=0; } $offset_plus=$_GET[anfang]+$anz; $fd=fopen($DATEINAME, r); $c=0; while ($fd && !feof($fd)) { $buffer=fgets($fd, 1024); if (substr($buffer, 0, 4) == "Date") { continue; } if ($buffer=="") { continue; } // echo $c."=".$buffer."
"; $exp=explode(";", $buffer); $line[0][$c]=(int)str_replace(",",".",$exp[$_SESSION[WERT]+1]); $line["date"][$c]=$exp[0]; $c++; } $WERTE=1; $anzahl=$c; // PUFFER $px=80; $py=150; // INITIAL X $ix=50; // INITIAL Y $iy=25; // FARB WERTE FESTSETZEN $col[0][0]=10; $col[0][1]=100; $col[0][2]=0; $col[1][0]=0; $col[1][1]=0; $col[1][2]=255; $col[2][0]=100; $col[2][1]=200; $col[2][2]=0; $col[3][0]=255; $col[3][1]=0; $col[3][2]=0; // DIVISION BY ZERO ABFANGEN if ($anzahl==0) { $anzahl=1; } // ABSTAND BERECHNEN $abstand=($width-$ix)/($anzahl-1); // BILD ERZEUGEN $image=imagecreate($width+$px,$height+$py); // HINTERGRUNDFARBE BESTIMMEN $background_color = ImageColorAllocate ($image, 240, 240, 240); // EINHEITEN FARBE BESTIMMEN $bar_color = ImageColorAllocate($image, 0, 0, 0); // EINHEITEN FARBE BESTIMMEN $bar_grey = ImageColorAllocate($image, 200, 200, 200); // DEN HOECHSTEN WERT VON ALLEN RAUSFINDEN $big = 0; for ($a=0; $a $big) { $big = $line[0][$a]; } } //$dotted=array("-1,0", "0,1", "1,0", "0,-1", "1,1", "-1,1", "-1,-1", "1,-1", "-2,0","0,2","2,0","0,-2", "2,2", "-2,2", "-2,-2", "2,-2"); // EINHEITEN AN DEN RAND SCHREIBEN $r=$width-$ix; // + LINKS UNTEN NACH LINKS OBEN imageline($image,$ix,$height+$iy,$ix,1+$iy,$bar_color); imageline($image,$ix+$r,$height+$iy,$ix+$r,1+$iy,$bar_color); // ++ LINKS UNTEN NACH RECHTS UNTEN imageline($image,$ix,$height+$iy,$width-$ix,$height+$iy,$bar_color); // Big Korrektur // if ($big < 1) { $big=1; } // ++ EINHEITEN ++ for ($a=0; $a<=$big; $a+=1) { // WIEVIEL PROZENT IST DER WERT VON BIG ? if ($big==0) { $big=1; } $prozent_big=$a/$big*100; // WIE HOCH IST DER PROZENTWERT VON DER HOEHE ? $y_pos=$height/100*$prozent_big; if ($y_pos-$y_pos_drawn>10 || $a==0) { // HORIZONTALE LINIE imageline($image,$ix-5,$height-$y_pos+$iy,$ix+5,$height-$y_pos+$iy,$bar_color); // BESCHRIFTUNG imagestring ($image, 1, $ix-30, $height-$y_pos-3+$iy, $a, $bar_color); // HORIZONTALE LINIE imageline($image,$ix-5+$r,$height-$y_pos+$iy,$ix+5+$r,$height-$y_pos+$iy,$bar_color); // BESCHRIFTUNG imagestring ($image, 1, $ix+20+$r, $height-$y_pos-3+$iy, $a, $bar_color); imageline($image,$ix+6,$height-$y_pos+$iy,$ix+$r-6,$height-$y_pos+$iy,$bar_grey); $y_pos_drawn=$y_pos; } } // DIE GROSSE ARRAY SCHLEIFE for ($b=0; $b<$WERTE; $b++) { // FARBE AUS FARBARRAY HOLEN $text_color = ImageColorAllocate ($image, $col[$b][0], $col[$b][1], $col[$b][2]); for ($a=0; $a0) { imageline($image,$x+$ix,$y+$iy,$ix+intval($a*$abstand),($height-$y_prozent+$iy),$text_color); /* for ($c=0; $c($xview+50)) { $exp=explode(" ", $line["date"][$a]); imagestring ($image, 1, intval($a*$abstand)+$ix-19, $height+10+$iy, str_replace(date(Y)."-","",$exp[0]), $bar_color); imagestring ($image, 1, intval($a*$abstand)+$ix-19, $height+20+$iy, $exp[1], $bar_color); $xview=intval($a*$abstand); } } $x=intval($a*$abstand); $y=($height-$y_prozent); } // BESCHRIFTUNG if ($b==0) { $text=$LEGENDE[0]; } imagestring($image, 1, $ix, $height+($b*10)+50+$iy, $text, $text_color); } // Bild auf Platte schreiben // imagepng($image, "temp/".session_id().".png"); // Bild anzeigen // echo "
"; echo "What to display? "; echo " "; echo "
"; echo ""; ?>