PHP: Unterschied zwischen den Versionen
Zovi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „ perfectlightbox bug http://www.typo3.net/forum/thematik/zeige/thema/114405/?show=1 = Dateiendung abschneiden = $name=explode(".",$dateiname); // dateien…“) |
Zovi (Diskussion | Beiträge) (→Counter - x Tage bis Abflug) |
||
| Zeile 21: | Zeile 21: | ||
?> | ?> | ||
| + | </pre> | ||
| + | |||
| + | |||
| + | = Grafiken mit PHP = | ||
| + | |||
| + | https://ranjay1984.wordpress.com/2012/06/26/how-to-create-bar-graph-with-dynamic-scaling/ | ||
| + | |||
| + | <pre> | ||
| + | |||
| + | index.php | ||
| + | |||
| + | echo '<img src="graph.php" alt="Fehler beim anzeigen" />'; | ||
| + | |||
| + | |||
| + | graph.php | ||
| + | <?php | ||
| + | # ------- The graph values in the form of associative array | ||
| + | $values=array( | ||
| + | "Jan" => 110, | ||
| + | "Feb" => 130, | ||
| + | "Mar" => 215, | ||
| + | "Apr" => 81, | ||
| + | "May" => 310, | ||
| + | "Jun" => 110, | ||
| + | "Jul" => 190, | ||
| + | "Aug" => 175, | ||
| + | "Sep" => 390, | ||
| + | "Oct" => 286, | ||
| + | "Nov" => 150, | ||
| + | "Dec" => 196 | ||
| + | ); | ||
| + | |||
| + | $img_width=450; | ||
| + | $img_height=300; | ||
| + | $margins=20; | ||
| + | |||
| + | # ---- Find the size of graph by substracting the size of borders | ||
| + | $graph_width=$img_width - $margins * 2; | ||
| + | $graph_height=$img_height - $margins * 2; | ||
| + | $img=imagecreate($img_width,$img_height); | ||
| + | |||
| + | $bar_width=20; | ||
| + | $total_bars=count($values); | ||
| + | $gap= ($graph_width- $total_bars * $bar_width ) / ($total_bars +1); | ||
| + | |||
| + | # ------- Define Colors ---------------- | ||
| + | $bar_color=imagecolorallocate($img,0,64,128); | ||
| + | $background_color=imagecolorallocate($img,240,240,255); | ||
| + | $border_color=imagecolorallocate($img,200,200,200); | ||
| + | $line_color=imagecolorallocate($img,220,220,220); | ||
| + | |||
| + | # ------ Create the border around the graph ------ | ||
| + | |||
| + | imagefilledrectangle($img,1,1,$img_width-2,$img_height-2,$border_color); | ||
| + | imagefilledrectangle($img,$margins,$margins,$img_width-1-$margins,$img_height-1-$margins,$background_color); | ||
| + | |||
| + | # ------- Max value is required to adjust the scale ------- | ||
| + | $max_value=max($values); | ||
| + | $ratio= $graph_height/$max_value; | ||
| + | |||
| + | # -------- Create scale and draw horizontal lines -------- | ||
| + | $horizontal_lines=20; | ||
| + | $horizontal_gap=$graph_height/$horizontal_lines; | ||
| + | |||
| + | for($i=1;$i<=$horizontal_lines;$i++){ | ||
| + | $y=$img_height - $margins - $horizontal_gap * $i ; | ||
| + | imageline($img,$margins,$y,$img_width-$margins,$y,$line_color); | ||
| + | $v=intval($horizontal_gap * $i /$ratio); | ||
| + | imagestring($img,0,5,$y-5,$v,$bar_color); | ||
| + | |||
| + | } | ||
| + | |||
| + | # ----------- Draw the bars here ------ | ||
| + | for($i=0;$i< $total_bars; $i++){ | ||
| + | # ------ Extract key and value pair from the current pointer position | ||
| + | list($key,$value)=each($values); | ||
| + | $x1= $margins + $gap + $i * ($gap+$bar_width) ; | ||
| + | $x2= $x1 + $bar_width; | ||
| + | $y1=$margins +$graph_height- intval($value * $ratio) ; | ||
| + | $y2=$img_height-$margins; | ||
| + | imagestring($img,0,$x1+3,$y1-10,$value,$bar_color); | ||
| + | imagestring($img,0,$x1+3,$img_height-15,$key,$bar_color); | ||
| + | imagefilledrectangle($img,$x1,$y1,$x2,$y2,$bar_color); | ||
| + | } | ||
| + | header("Content-type:image/png"); | ||
| + | imagepng($img); | ||
| + | |||
| + | ?> | ||
</pre> | </pre> | ||
Aktuelle Version vom 19. März 2021, 10:11 Uhr
perfectlightbox bug http://www.typo3.net/forum/thematik/zeige/thema/114405/?show=1
Dateiendung abschneiden
$name=explode(".",$dateiname); // dateiendung abschneiden
Counter - x Tage bis Abflug
<?php
$time = time(); # Unix-Timestamp (Anzahl der Sekunden seit 1.1.1970)
$datum = date("d.m.Y", $time); # in heutiges Datum formatieren
$datum_neu = mktime(0,0,0,11,01,2012); # Zukunftsdatum in timestamp formatieren
$differenz = ceil(($datum_neu - $time)/(60*60*24)); # Differenz errechnen
echo "...es sind noch ".$differenz." Tage bis Abflug";
?>
Grafiken mit PHP
https://ranjay1984.wordpress.com/2012/06/26/how-to-create-bar-graph-with-dynamic-scaling/
index.php
echo '<img src="graph.php" alt="Fehler beim anzeigen" />';
graph.php
<?php
# ------- The graph values in the form of associative array
$values=array(
"Jan" => 110,
"Feb" => 130,
"Mar" => 215,
"Apr" => 81,
"May" => 310,
"Jun" => 110,
"Jul" => 190,
"Aug" => 175,
"Sep" => 390,
"Oct" => 286,
"Nov" => 150,
"Dec" => 196
);
$img_width=450;
$img_height=300;
$margins=20;
# ---- Find the size of graph by substracting the size of borders
$graph_width=$img_width - $margins * 2;
$graph_height=$img_height - $margins * 2;
$img=imagecreate($img_width,$img_height);
$bar_width=20;
$total_bars=count($values);
$gap= ($graph_width- $total_bars * $bar_width ) / ($total_bars +1);
# ------- Define Colors ----------------
$bar_color=imagecolorallocate($img,0,64,128);
$background_color=imagecolorallocate($img,240,240,255);
$border_color=imagecolorallocate($img,200,200,200);
$line_color=imagecolorallocate($img,220,220,220);
# ------ Create the border around the graph ------
imagefilledrectangle($img,1,1,$img_width-2,$img_height-2,$border_color);
imagefilledrectangle($img,$margins,$margins,$img_width-1-$margins,$img_height-1-$margins,$background_color);
# ------- Max value is required to adjust the scale -------
$max_value=max($values);
$ratio= $graph_height/$max_value;
# -------- Create scale and draw horizontal lines --------
$horizontal_lines=20;
$horizontal_gap=$graph_height/$horizontal_lines;
for($i=1;$i<=$horizontal_lines;$i++){
$y=$img_height - $margins - $horizontal_gap * $i ;
imageline($img,$margins,$y,$img_width-$margins,$y,$line_color);
$v=intval($horizontal_gap * $i /$ratio);
imagestring($img,0,5,$y-5,$v,$bar_color);
}
# ----------- Draw the bars here ------
for($i=0;$i< $total_bars; $i++){
# ------ Extract key and value pair from the current pointer position
list($key,$value)=each($values);
$x1= $margins + $gap + $i * ($gap+$bar_width) ;
$x2= $x1 + $bar_width;
$y1=$margins +$graph_height- intval($value * $ratio) ;
$y2=$img_height-$margins;
imagestring($img,0,$x1+3,$y1-10,$value,$bar_color);
imagestring($img,0,$x1+3,$img_height-15,$key,$bar_color);
imagefilledrectangle($img,$x1,$y1,$x2,$y2,$bar_color);
}
header("Content-type:image/png");
imagepng($img);
?>