Noch nicht viel geschrieben
Hallo erstmal!
Stosse wieder einmal an meine PHP-Kenntniss-Grenze...
Ich habe ein PHP-Script geschriben, das mir automatisch quadratische Thumbnails (Vorschaubilder) erstellt. Funktioniert auch einwandfrei.
Zurzeit muss ich mit dem Script, immer die Originalbilder in einen Ordner (thumbs) kopieren, was aufwendig / lästig ist.
Mein Problem / Anliegen:
Kann man das Script so erweitern, dass man die Originalbilder nicht in einen anderen Ordner kopieren muss, d.h.
dass das Script direkt die Originalbilder nimmt (Original-Ordner) und in einem andren Ordner (thumbs) speichert?
Die Ordnerstruktur sieht in etwa so aus:
Einen Gallery-Ordner. In diesem Ordner ist das Script, ein Ordner (images) mit den Originalbilder drin und einen Thumbnail-Ordner (thumbs).
Habe schon gegoogelt aber nichts brauchbares für mein Script gefunden.
Auf PSD Tutorials habe ich auch schon gesucht, aber das Script, das angeboten wird, ist zu unübersichtlich, resp. hat zu wenig Erklärungen
(für mich zumindest).
Danke für euer Unterstützung / Hilfe!
Stosse wieder einmal an meine PHP-Kenntniss-Grenze...
Ich habe ein PHP-Script geschriben, das mir automatisch quadratische Thumbnails (Vorschaubilder) erstellt. Funktioniert auch einwandfrei.
Zurzeit muss ich mit dem Script, immer die Originalbilder in einen Ordner (thumbs) kopieren, was aufwendig / lästig ist.
Mein Problem / Anliegen:
Kann man das Script so erweitern, dass man die Originalbilder nicht in einen anderen Ordner kopieren muss, d.h.
dass das Script direkt die Originalbilder nimmt (Original-Ordner) und in einem andren Ordner (thumbs) speichert?
Die Ordnerstruktur sieht in etwa so aus:
Einen Gallery-Ordner. In diesem Ordner ist das Script, ein Ordner (images) mit den Originalbilder drin und einen Thumbnail-Ordner (thumbs).
Habe schon gegoogelt aber nichts brauchbares für mein Script gefunden.
Auf PSD Tutorials habe ich auch schon gesucht, aber das Script, das angeboten wird, ist zu unübersichtlich, resp. hat zu wenig Erklärungen
(für mich zumindest).
PHP:
<?php
// PHP-Fehlermeldungen anzeigen --> Alle
error_reporting (E_ALL);
// Funktionsaufruf
foreach (glob ("*.jpg") as $Image)
{
qThumb ($Image, 90); // "$Image, Zahl" --> Zahl = Breite / Höhe des Bildes in Pixel
}
// Funktion
function qThumb ($Image, $ThumbEdgeLength)
{
// Masse ermitteln
$OriginalImagedInfo = getimagesize( $Image);
$OriginalImageWidth = $OriginalImagedInfo[0];
$OriginalImageHight = $OriginalImagedInfo[1];
$OriginalEdgeLength = $OriginalImageWidth < $OriginalImageHight ? $OriginalImageWidth : $OriginalImageHight;
// Temporäres Bild vom Original erzeugen
$TempImage = imagecreatefromjpeg ($Image);
// Neues Bild erstellen
$NewImage = imagecreatetruecolor ($OriginalEdgeLength, $OriginalEdgeLength);
// Originalbild in neues Bild einfügen
if ($OriginalImageWidth > $OriginalImageHight)
{
imagecopy ($NewImage, $TempImage, 0, 0, round ($OriginalImageWidth-$OriginalEdgeLength) / 2, 0, $OriginalImageWidth, $OriginalImageHight);
}
else if ($OriginalImageWidth <= $OriginalImageHight)
{
imagecopy ($NewImage, $TempImage, 0, 0, 0, round ($OriginalImageHight-$OriginalEdgeLength) / 2, $OriginalImageWidth, $OriginalImageHight);
}
$Thumbnail = imagecreatetruecolor ($ThumbEdgeLength, $ThumbEdgeLength);
imagecopyresampled ($Thumbnail, $NewImage, 0, 0, 0, 0, $ThumbEdgeLength, $ThumbEdgeLength, $OriginalEdgeLength, $OriginalEdgeLength);
// Neues Bild ausgeben
imagejpeg ($Thumbnail, $Image, 80); // "$Thumbnail, $Image, Zahl" --> Zahl = Qualität des Bildes
imagedestroy ($Thumbnail);
}
?>