74 lines
2.4 KiB
PHP
74 lines
2.4 KiB
PHP
<?php
|
|
class Thumb {
|
|
function thumbnail_erstellen() {
|
|
$bv = "images";
|
|
$vb = "thumb";
|
|
$verzeichnis = opendir($bv);
|
|
$bilder = array();
|
|
while (($datei = readdir($verzeichnis)) !== false) {
|
|
if ((preg_match("/\.jpe?g$/i", $datei)) || (preg_match("/\.png$/i", $datei))) {
|
|
$bilder[] = $datei;
|
|
}
|
|
}
|
|
closedir($verzeichnis);
|
|
$verzeichnis = opendir($vb);
|
|
|
|
//Schleife, bis alle Files im Verzeichnis ausgelesen wurden
|
|
while (($datei = readdir($verzeichnis)) !== false) {
|
|
//Oft werden auch die Standardordner . und .. ausgelesen, diese sollen ignoriert werden
|
|
if ($datei != "." AND $datei != "..") {
|
|
//Files vom Server entfernen
|
|
@unlink("$vb/$datei");
|
|
}
|
|
}
|
|
closedir($verzeichnis);
|
|
|
|
foreach ($bilder as $bild) {
|
|
if (preg_match("/\.png$/i", $bild)) {
|
|
|
|
$b = imagecreatefrompng("$bv/$bild");
|
|
} else {
|
|
$b = imagecreatefromjpeg("$bv/$bild");
|
|
}
|
|
|
|
$originalbreite = imagesx($b);
|
|
$originalhoehe = imagesy($b);
|
|
$neuebreite = 120;
|
|
$neuehoehe = floor($originalhoehe * ($neuebreite / $originalbreite));
|
|
$neuesbild = imagecreatetruecolor($neuebreite, $neuehoehe);
|
|
imagecopyresampled($neuesbild, $b, 0, 0, 0, 0, $neuebreite, $neuehoehe, $originalbreite, $originalhoehe);
|
|
imagejpeg($neuesbild, "$vb/$bild");
|
|
imagedestroy($neuesbild);
|
|
}
|
|
}
|
|
|
|
function thumbnail_anzeigen() {
|
|
$bv = "thumb";
|
|
$verzeichnis = opendir($bv);
|
|
while (($datei = readdir($verzeichnis)) !== false) {
|
|
if ((preg_match("/\.jpe?g$/i", $datei)) || (preg_match("/\.png$/i", $datei))) {
|
|
echo "<div class='thumb'><a class='hlink_klein'
|
|
href='index.php?rezepte=$datei'>Rezepte anzeigen</a><br>
|
|
<a class='hlink_nix' href='index.php?details=$datei'>
|
|
<img class='thumb_bild' src='$bv/$datei' " .
|
|
"alt='Vorschaubild $datei'></a></div> ";
|
|
}
|
|
}
|
|
closedir($verzeichnis);
|
|
}
|
|
|
|
public function __construct() {
|
|
echo '<h1>Vorschau der Zutaten</h1>'.
|
|
'<h5>Mit einem Klick auf ein Bild erhalten Sie '.
|
|
'mehr Informationen und Sie können einen '.
|
|
'Rezeptvorschlag abgeben.</h5>'.'<div id="vorschauber">';
|
|
$this -> thumbnail_erstellen();
|
|
$this -> thumbnail_anzeigen();
|
|
echo '</div><h2>Details</h2>' .'<div id="detailbereich"></div>';
|
|
}
|
|
|
|
}
|
|
|
|
new Thumb();
|
|
?>
|