This repository has been archived on 2026-06-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
sgd/projekt_v3/vorschau.php
T

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();
?>